Professional Documents
Culture Documents
QHD Vnoi
QHD Vnoi
Dy con n iu di nht
1. M hnh
c trng:
o Cc phn t trong dy kt qu ch xut hin 1 ln. V vy phng php lm l ta
s dng vng For duyt qua cc phn t A trong dy, khc vi cc bi ton ca
m hnh 4 (c trng l bi ton i tin), cc phn t trong dy c th c chn
nhiu ln nn ta thc hin bng phng php cho gi tr cn quy i tng dn
tng n v.
o
2. Cng thc QH
Hm mc tiu : f = di dy con.
3. Ci t
for i:= 1 to n do
begin
L[i]:=1;
for j:=1 to i1 do
if (A[j]<=A[i]) and (L[i]<L[j]+1) then L[i]:=L[j]+1;
end;
Nh vy chi ph khng gian ca bi ton l O(n), chi ph thi gian l O(n2). C mt phng php
ci t tt hn so vi phng php trn, cho chi ph thi gian l O(nlogn)
4. Mt s bi ton khc
Bi ton dy con n iu tng di nht c bin th n gin nht l bi ton dy con n iu
gim di nht, tuy nhin chng ta c th coi chng nh l mt. Sau y l mt s bi ton khc.
Cho thu my
o Trung tm tnh ton hiu nng cao nhn c n t hng ca n khch hng.
Khch hng i mun s dng my trong khong thi gian t ai
n bi v tr tin
thu l ci. Hy b tr lch thu my tng s tin thu c l ln nht m thi
gian s dng my ca 2 khch hng bt k c phc v u khng giao nhau (c
trung tm ch c mt my cho thu).
o Hng dn: Tng t nh bi ton b tr phng hp, nu sp xp cc n t
hng theo thi im kt thc, ta s a c v bi ton tm dy con c tng ln
nht. Bi ton ny l bin th ca bi ton tm dy con tng di nht, ta c th ci
t bng on chng trnh nh sau:
o
o
o
o
o
o
o
o
o
o
for i:=1 to n do
begin
L[i]:=C[i];
for j:=1 to i1 do
if (B[j]<=A[i]) and (L[i]<L[j]+C[i]) then
L[i]:=L[j]+C[i];
end;
Dy i du
o Cho dy A1, A2,AN. Hy tm dy con i du di nht ca dy . Dy con
con i du Ai1,Ai2,Aik phi tho mn cc iu kin sau:
Dy s WAVIO:
o Dy s Wavio l dy s nguyn tha mn cc tnh cht : cc phn t u sp xp
thnh 1 dy tng dn n 1 phn t nh sau gim dn. V d dy s 1 2 3 4 5 2
1 l 1 dy Wavio di 7. Cho 1 dy gm N s nguyn, hy ch ra mt dy con
Wavio c di ln nht trch ra t dy .
o Hng dn: L1i l mng ghi di ln nht ca 1 dy con tng dn trch ra t
dy N phn t k t phn t 1 n phn t ai. L2i : mng ghi di ln nht ca
dy con gim dn trch ra t dy N phn t k t phn t AN n Ai. Ta tm phn
t j trong 2 mng L1, L2 tha mn L1j+L2j ln nht.
Thp Babilon ( Tnh cht duy nht ca cc phn t trong phng n ti u b vi phm)
Xp cc khi :
o Cho N khi (N5000) Cc khi u c dng hnh hp ch nht v c c
trng bi 3 kch thc: di, rng, cao. Mt cch xy dng thp l mt cch t
mt s cc khi trong cc khi cho chng ln nhau theo quy tc:
Dng u l s N.
2. Cng thc
3. Ci t
For i:=1 to n do
For j:=1 to W do
If
else L[i,j]:=L[i-1,j];
4. Mt s bi ton khc
o Ci t
L[t]:=0; L[0]:=1;
D thy chi ph khng gian ca cch ci t trn l O(m), chi ph thi gian
l O(nm), vi m l tng ca n s. Hy t kim tra xem ti sao vng for th
2 li l for downto ch khng phi l for to.
for i := 1 to n do
for t := S downto a[i] do
if (L[t]=0) and (L[ta[i]]=1) then L[t]:=1;
Chia ko
o Cho n gi ko, gi th i c ai vin. Hy chia cc gi thnh 2 phn sao cho chnh
lch gia 2 phn l t nht.
o Hng dn: Gi T l tng s ko ca n gi. Chng ta cn tm s S ln nht tho
mn:
ST/2.
in du
o Cho n s t nhin A1,A2, ...,AN. Ban u cc s c t lin tip theo ng th t
cch nhau bi du "?": A1?A2?...?AN. Cho trc s nguyn S, c cch no thay cc
du "?" bng du + hay du c mt biu thc s hc cho gi tr l S
khng?
L[ 1,a[1] ] =1.
Hng dn:
o Hm mc tiu : f: s php bin i.
o D thy s php bin i ph thuc vo v tr i ang xt ca xu X v v tr j ang
xt ca xu F. Do vy ci t cho bang phng n ta s dng mng 2 chiu
o Gi L[i,j] l s php bin i t nht bin xu Xi gm i k t phn u ca X
( Xi=X[1..i] ) thnh xu Fj gm j k t phn u ca F( Fj =F[1..j]). D thy
F[0,j]=j v F[i,0]=i.
o C 2 trng hp xy ra: Nu X[i]=F[j] :
X1X2...Xi-1
Xi
F1F2...Fj-1
Xi
Xo k t Xi:
X1X2...Xi-1
Xi
F1F2...Fj-1
Fj
Thay th Xi bi Fj :
X1X2...Xi-1
Fj
F1F2...Fj-1
Fj
Chn Fj vo Xi:
X1X2...Xi-1
Fj
F1F2...Fj-1
Fj
F[0,j]=j
F[i,0]=i
Bi ny ta c th tit kim bin hn bng cch dng 2 mng 1 chiu tnh ln nhau v mt
mng nh du 2 chiu truy vt.
4. Mt s bi ton khc
L[0,j]=L[i,0]=0.
o Ci t
for i:=1 to m do
for j:=1 to n do
else L[i,j]:=max(L[i1,j],L[i,j1]]);
Bc cu
o Hai nc Anpha v Beta nm hai bn b sng Omega, Anpha nm b bc v
c M thnh ph c nh s t 1 n m, Beta nm b nam v c N thnh ph
c nh s t 1 n n (theo v tr t ng sang ty). Mi thnh ph ca nc
ny thng c quan h kt ngha vi mt s thnh ph ca nc kia. tng
cng tnh hu ngh, hai nc mun xy cc cy cu bc qua sng, mi cy cu
s l nhp cu ni 2 thnh ph kt ngha. Vi yu cu l cc cy cu khng c
ct nhau v mi thnh ph ch l u cu cho nhiu nht l mt cy cu, hy ch ra
cch bc cu c nhiu cu nht.
o Hng dn: Gi cc thnh ph ca Anpha ln lt l A1,A2,Am; cc thnh ph
ca Beta l B1,B2,...Bn. Nu thnh ph Ai v Bj kt ngha vi nhau th coi
Ai "bng Bj. cc cy cu khng ct nhau, nu ta chn cp thnh ph
(Ai,Bj) xy cu th cp tip theo phi l cp (Au,Bv) sao cho u>i v v>j. Nh
vy cc cp thnh ph c chn xy cu c th coi l mt dy con chung ca
hai dy A v B.
o Bi ton ca chng ta tr thnh bi ton tm dy con chung di nht, y hai
phn t bng nhau nu chng c quan h kt ngha.
L(i,i)=0.
L(i,j)=L(i+1,j1) nu Si=Sj
2. Cng thc
3. Ci t
o
o
o
o
o
o
o
o
L[t] := 0; {vi mi t}
for i := 1 to n do
begin
P:=L;
for t := 0 to m do
if t<a[i] then L[t]:=P[t]
else L[t] := max(P[t],P[ta[i]]);
end;
Chi ph khng gian ca cch ci t trn l O(m) v chi ph thi gian l O(n.m).
4. Mt s bi ton khc
i tin
o t nc Omega ngi ta ch tiu tin xu. C N loi tin xu, loi th i c mnh
gi l ai ng. Mt ngi khch du lch n Omega du lch vi s tin M ng.
ng ta mun i s tin ra tin xu Omega tin tiu dng. ng ta cng mun
s ng tin i c l t nht (cho ti tin nng khi i y i ). Bn hy
gip ng ta tm cch i tin.
o Hng dn: Bi ton ny kh ging bi ton xp bal (khi lng l mnh gi,
gi tr l 1), ch c mt s thay i nh: s ng xu mi loi c chn tu
(trong bi ton xp bal mi vt ch c chn 1 ln) v tng gi tr yu cu l
nh nht.
L[i,0]=0;
L[0,t]= vi t>0.
L[i,t]=L[i1,t] nu t<Ai.
o Cng thc ny khc cng thc ca bi xp bal ch: dng hm min ch khng
phi hm max (v cn tm cch chn t hn) v nu chn ng xu th i th
L[i,t]=L[i,tAi]+1 (v ta vn cn c chn ng xu th i na), khc vi khi
xp bal l: nu chn vt th i th L[i,t]=L[i1,tAi])+Bi v vt i ch c
chn mt ln.
V. Nhn ma trn
1. M hnh
Nhn mt ma trn kch thc mn vi mt ma trn np, s php nhn phi thc hin
l m.n.p. Mt khc php nhn cc ma trn c tnh kt hp, tc l: (A.B).C = A.(B.C)
Do khi tnh tch nhiu ma trn, ta c th thc hin theo cc trnh t khc nhau, mi
trnh t tnh s quyt nh s php nhn cn thc hin.
2. Cng thc
o F[i,i+1] l s php nhn khi nhn Ai v Ai+1 . Ai c kch thc di-1 x di ,Ai+1 c
kch thc didi+1, do F[i,i+1]=di-1 x di x di+1
o Vi j>i+1 th ta thy c th tnh Ai.Ai+1....Aj bng cch chn mt v tr k no
t ngoc theo trnh t: Ai.Ai+1....Aj = (Ai..Ak).(Ak+1..Aj)
Ma trn kt qu ca php nhn (Ai ..Ak ) c kch thc di-1 di , ma trn kt qu ca php
nhn (Ak+1..Aj) c kch thc dkdj. Vi cch t ta s mt F[i,k] php nhn c kt
qu trong du ngoc th nht, mt thm F[k+1,j] php nhn c kt qu trong du
ngoc th hai, v cui cng mt di-1.dk.dj nhn 2 ma trn kt qu . T tng s
php nhn ca cch t l: F[i,k]+F[k+1,j]+di-1xdk x dj
3. Ci t
end;
4. Mt s bi ton khc
Chia a gic
o Cho mt a gic li N nh. Bng cc ng cho khng ct nhau, ta c th chia
a gic thnh N2 tam gic. Hy xc nh cch chia c tng cc ng cho ngn
nht.
o Hng dn: n gin ta coi mi on thng ni 2 nh u l ng cho
(nu ni 2 nh trng nhau hoc 2 nh lin tip th c di bng 0).
o Gi F(i,j) l tng di cc ng cho khi chia a gic gm cc nh t i n j
thnh cc tam gic. Nu j<i+3 th a gic c t hn 4 nh, khng cn phi chia
nn F(i,j)=0. Ngc li ta xt cch chia a gic bng cch chn mt nh k
nm gia i,j v ni i,j vi k. Khi F[i,j]=F[i,k]+F[k,j]+d[i,k]+d[k,j]; d(i,k) l
di ng cho (i,k).
o Tm li cng thc QH nh sau:
F[i,j]=0 vi j<i+3.
F[i,i]=Ai
F[i,i+1]=AiAi+1
F[i,j]=max(F[i,k]F[k+1,j] vi k=i+1,i+2,..j1).
VI. Ghp cp
1.M hnh
2. Cng thc
L(i,j): tng gi tr thm m ln nht khi xt n hoa i v l j. Khi tnh L(i,j) hoa ang xt
s l hoa i v l j.
o Nu i = j. Ch c mt cch cm L[i,i]:= V[1,1]+V[2,2]+...V[i,i]
o Nu i>j . Khng c cch cm hp l
o Nu i<j : C 2 trng hp xy ra:
3. Ci t :
L[i,j]:= -maxint;
For i:=1 to k do
For j:=i to n do
If i = j then L[i,j]:=sum(i)
else if i<j then L[i,j]:=max(L[i-1,j-1]+v[i,j],L[i,j-1]);
4. Mt s bi ton khc
VII. Di chuyn
1. M hnh
2. Cng thc
3. Ci t
Bng phng n l bng 2 chiu F[0..m,0..n]. (Tt c cc trn bin u cho gi tr bng
0).
for i:=1 to m do
for j := 1 to n do
F[i,j]=max[F[i1,j],F[i1,j1],F[i1,j+1]]+A[i,j];
Cch ci t ny cho chi ph khng gian v thi gian u l O(n2). Ta c th tit kim
khng gian nh bng cch tnh trc tip trn mng A.
4. Mt s bi ton khc
Con kin
F[1,1]=A[1,1]
F[i,1]=F[i1,1]+A[i,1]
Hng dn: x l tnh hung hnh tr, ta lu dng 0 l dng M v dng M+1 l dng
1. Khi tng t nh bi ton ban u, gi F(i,j) l lng thc n kin c c khi b
n (i,j), ta thit lp c cng thc QH sau:
o F[i,1]=A[i,1]
o F[i,j]=max( F[i1,j1],F[i,j1],F[i+1,j+1] )+A[i,j] vi j>1