Professional Documents
Culture Documents
MosobaitapQHDdienhinh PDF
MosobaitapQHDdienhinh PDF
MosobaitapQHDdienhinh PDF
I. Dy con n iu di nht
1. M hnh
Cho dy a1,a2,..an. Hy tm mt dy con tng c nhiu phn t nht ca dy.
c trng: i) 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 aitrong 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.
ii) Th t ca cc phn t c chn phi c gi nguyn so vi dy ban u.
2. Cng thc QH
Hm mc tiu : f = di dy con.
V di dy con ch ph thuc vo 1 yu t l dy ban u nn bng phng n l bng mt
chiu. Gi L(i) l di dy con tng di nht, cc phn t ly trong min t a1
n ai v
phn t cui cng l ai.
Nhn xt vi cch lm ny ta chia 1 bi ton ln (dy con ca n s) thnh cc bi ton con
cng kiu c kch thc nh hn (dy con ca dy i s). Vn l cng thc truy hi phi
hp kt qu ca cc bi ton con.
Ta c cng thc QH tnh L(i) nh sau:
L(1) = 1. (Hin nhin)
L(i) = max(1, L(j)+1 vi mi phn t j: 0<j<i v ajai).
Tnh L(i) : phn t ang c xt l ai .Ta tm n phn t aj <ai c L(j) ln nht. Khi nu
b sung ai vo sau dy con ...aj ta s c dy con tng dn di nht xt t a1...ai.
3. Ci t
Bng phng n l mt mng mt chiu L lu tr cc gi tr ca hm QH L(i). on
chng trnh tnh cc gi tr ca mng L nh sau:
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.
a) B tr phng hp( mt tnh th t so vi dy ban u)
C n cuc hp, cuc hp th i bt u vo thi im ai v kt thc thi im bi. Do ch c
Vic kim tra im M c nm trong tam gic ABC khng c th da trn phng php tnh
din tch: im M nm trong nu S(ABC) = S(ABM) + S(ACM) + S(BCM).
Bi ton c mt s bin th khc nh tm dy hnh tam gic, hnh ch nht bao nhau c
tng din tch ln nht.
d) Dy i du
Cho dy a1, a2,an. Hy dy con
i du di nht ca dy
ai1,ai2,aik phi tho mn cc iu kin sau:
. Dy con con
i du
Trang 3
xy ra :
phi j-a[i]. V mi vt ch
Nu khng chn ai , trng lng ca vali l nh c (nh lc trc khi chn ai ): L[i-1,j].
Tm li ta c L[i,j]=max(L(i-1,j-a[i]) + b[i], L[i-1,j]).
3. Ci t
For i:=1 to n do
For j:=1 to W do
If b[i]<=j then
L[i,j]:=max(L(i-1,j-a[i]) + b[i], L[i-1,j])
else L[i,j]:=L[i-1,j];
4. Mt s bi ton khc
a) Dy con c tng bng S:
Cho dy a1,a2,..an. Tm mt dy con ca dy c tng bng S.
Hng dn
t L[i,t)=1 nu c th to ra tng t t mt dy con ca dy gm cc phn t a1,a2,..ai. Ngc
Trang 4
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.
b) Chia ko
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.
Hng dn: Gi T l tng s ko ca n gi. Chng ta cn tm s S ln nht tho mn:
ST/2.
C mt dy con ca dy a c tng bng S.
Khi s c cch chia vi chnh lch 2 phn l T2S l nh nht v dy con c tng bng S
kg, 5kg
V d: c 3 con c, khi lng ln lt l: 3, 2, 4. Mua lng 6 kg s phi ly con c th 2 v
Trang 5
bin i :
Chn 1 k t vo sau k t th i :I i C
Thay th k t v tr th i bng k t C : R i C.
Xo k t v tr th i. D i
Hy tm s t nht cc php bin i bin xu X thnh xu F.
Hng dn:
Hm mc tiu : f: s php bin i.
D thy s php bin i ph thuc vo v tr i ang xt ca xu X v v tr j ang xt cu xu
Gi L(i,j) l
u ca X (X(i)=
X
i
X
i
X1X2...Xi-1
X
i
F1F2...Fj-1 Fj
Xu X(i-1) thnh F(j). Khi F(i,j)=F(i-1,j)+1.(Cng 1 l do ta dng 1 php xa)
Thay th X[i] bi F[j] :
X1X2...Xi-1
F1F2...Fj-1
Fj
Fj
X1X2...Xi-1XiFj
F1F2...Fj-1
Fj
4. Mt s bi ton khc
a) Xu con chung di nht
Cho 2 xu X,Y. Hy tm xu con ca X v ca Y c di ln nht.
Cng thc QH
Gi L(i,j) l di xu con chung di nht ca xu X(i) gm i k t phn u ca X (X(i)=
lu cc gi tr ca hm QH L(i,j).
Nh vy chi ph khng gian ca bi ton l O(n2), chi ph thi gian l O(n2). C mt phng
php ci t tt hn, ch vi chi ph khng gian O(n) da trn nhn xt sau: tnh L[i,j]
ca bng phng n, ta ch cn 3 L[i1,j1],L[i1,j] v L[i,j1]. Tc l tnh dng L[i]
th ch cn dng L[i1]. Do ta ch cn 2 mng 1 chiu lu dng va tnh (P) v dng
c) Bc cu
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
Trang 7
y hai phn t
2. Cng thc
Gi L(i,j) l tng gi tr ln nht khi c chn i vt t 1 n i cho vo bal vi tng khi
lng khng vt qu j. L(n,W) s l p s ca bi ton (l gi tr ln nht c c nu chn
n vt v tng khi lng khng vt qu W).
Cng thc tnh L(i,t) nh sau:
Trang 8
L(i,0)=0; L(0,j)=0.
L(i,j)=L(i,j) nu t<ai.
L(i,t)=max(L(i-1,j), L(i,jai)+bi) nu t ai.
Trong : L(i1,j) l gi tr c c nu khng a vt i vo bal, L(i,jai)+bi l gi tr c
c nu chn vt i.
3. Ci t
Ta c th dng mt mng 2 chiu lu bng phng n, tuy nhin da trn nhn xt rng
tnh dng i ca bng phng n ch cn dng i1, ta ch cn dng 2 mng mt chiu P v L c
4. Mt s bi ton khc
a) Farmer (IOI 2004)
Mt ngi c N mnh t v M di t. Cc mnh t c th coi l mt t gic v cc di t
th coi nh mt ng thng. Dc theo cc di t ng ta trng cc cy bch, di t th i c
ai cy bch. ng ta cng trng cc cy bch trn vin ca cc mnh t, mnh t th j c bj
cy bch. C trn cc mnh t v di t, xen gia 2 cy bch ng ta trng mt cy liu.
ng ta cho con trai c chn cc mnh t v di t tu vi iu kin tng s cy bch
khng vt qu Q. Ngi con trai phi chn th no c nhiu cy liu (loi cy m anh ta
thch) nht.
Hng dn: D thy mnh t th i c ai cy liu v di t th j c bj1 cy liu. Coi cc
mnh t v di t l cc vt, vt th k c khi lng wk v gi tr vk (nu k l mnh
t i th wk=vk=ai, nu k l di t j th wk=bj, vk=bj1). Ta cn chn cc vt, sao cho
tng khi lng ca chng khng vt Q v tng gi tr l ln nht. y chnh l bi ton
xp bal trnh by trn.
b) i tin
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.
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.
Trang 9
vt th i th
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.
Cho N ma trn A1,A2An, ma trn Ai c kch thc l di1di. Hy xc nh trnh t nhn ma
2. Cng thc
Gi F(i,j) l s php nhn tnh tch cc ma trn t Ain Aj (Ai.Ai+1....Aj).
F(i,i)=0.
F(i,i+1)=di1.di.di+1
F(i,j) = min(F(i,k)+F(k+1,j)+di1.dk.dj vi k=i+1,i+2,...j1)
Cng thc hi phc tp nn ti xin gii thch nh sau:
F(i,i)=0 l hin nhin.
F(i,i+1) l s php nhn khi nhn Ai v Ai+1. Ai c kch thc di1di, Ai+1 c kch thc
didi+1, do F(i,i+1)=di1.di.di+1.
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 di1dk, 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 di1.dk.dj nhn 2 ma trn kt qu . T tng s php nhn ca cch t
l: F(i,k)+F(k+1,j)+di1.dk.dj.
Ta chn v tr k cho s php nhn t nht.
Trang10
3. Ci t
Bng phng n l mt mng 2 chiu F lu F(i,j). Ch khi ci t l tnh c F(i,j),
ta phi tnh F(i,k) v F(k+1,j) trc. Phng php n gin lm iu l phng php
quy c nh.
Tuy nhin da vo nhn xt l trong cng thc QH: ji ln hn ki v jk, ta c th tnh
Vi cch ci t trn,chi ph khng gian l O(n2), chi ph thi gian l O(n3) (y l bi ton c
4. Mt s bi ton khc
a) Chia a gic
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.
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).
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).
Tm li cng thc QH nh sau:
F(i,j)=0 vi j<i+3.
F(i,j)=min(F(i,k)+F(k,j)+d(i,k)+d(k,j) vi k=i+1,...j1).
F(1,n) l tng ng cho ca cch chia ti u.
b) Biu thc s hc (IOI 1999)
Cho biu thc a1a2an, trong ai l cc s thc khng m v l mt php ton + hoc
cho trc. Hy t cc du ngoc biu thc thu c c kt qu ln nht.
Hng dn: Gi F(i,j) l gi tr ln nht c th c ca biu thc aiai+1aj. D thy nu i=j
th F(i,j)=ai, nu j=i+1 th F(i,j)=aiaj. Nu j>i+1 th c th tnh biu thc aiai+1aj bng
cch chia thnh 2 nhm: (aiai+1ak)(ak+1aj), Khi F(i,j)=F(i,k)F(k+1,j).
Tm li, cng thc QH l:
Trang11
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).
(Ch l l cc hng t ca dy u khng m v cc php ton l + hoc nn F(i,k) v
F(k+1,j) t max th F(i,k)F(k+1,j) cng t max).
VI. Ghp cp
1.M hnh
C n l hoa sp thng hng v k b hoa c nh s th t t nh n ln. Cn cm k b hoa trn
vo n l sao cho hoa c s th t nh phi ng trc hoa c s th t ln. Gi tr thm m tng ng
khi cm hoa i vo l th j l v(i,j) Hy tm 1 cch cm sao cho tng gi tr thm m l ln nht. Ch
2. Cng thc :
Nhn xt rng bi ton nu trn l mt bi ton ghp cp c yu cu v th t nn ta c th
lu bng phng n.
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.
4. Mt s bi ton khc
a) Cu lc b:( thi chn HSG Tin H Ni nm 2000)
C n phng hc chuyn v k nhm hc c nh s th t t nh n ln. Cn xp k
nhm trn vo n phng hc sao cho nhm c s hiu nh c xp vo phng c s hiu nh,
Trang12
a(i) gh ,nhm j c b(j) hc sinh. Hy chn 1 phng n b tr sao cho tng s ln chuyn gh
ra v vo l t nht.
Hng dn : Khi xp nhm i vo phng j th s ln chuyn gh chnh l chnh lch gia
c(2)|+...+ |a(n)-c(n)|
VII. Di chuyn
1. M hnh
Cho bng A gm MxN . T (i,j) c th di chuyn sang 3 (i+1,j), (i+1,j1) v (i+1,j+1).
Hy xc nh mt l trnh i t hng 1 n hng M sao cho tng cc i qua l ln nht.
2. Cng thc
Gi F(i,j) l gi tr ln nht c c khi di chuyn n (i,j). C 3 c th i n (i,j) l (i
1,j), (i1,j1) v (i1,j+1). Do ta c cng thc QH nh sau:
F(1,j)=A[1,j]
F(i,j)=max(F(i1,j),F(i1,j1),F(i1,j+1))+A[i,j] vi i>1
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).
Qu trnh tnh nh sau:
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
a) Tam gic (IOI 1994)
Cho mt tam gic gm cc s nguyn khng m. Hy tnh tng ln nht cc s trn ng i
t nh tam gic xung mt im no y tam gic no . Ti mi ta ch c i thng
xung, sang bn tri hoc bn phi.
Hng dn: M t cc phn t ca tam gic s nh mt ma trn, A[i,j] l phn t th j trn
dng i (vi 1iN v 1ji). C 2 c th di chyn n (i,j) l (i1,j1) v (i1,j). Gi
F(i,j) l tng ln nht c th c khi i n (i,j) ta c:
Trang13
F(1,1)=A[1,1]
F(i,1)=F(i1,1)+A[i,1]
F(i,j)=max(F(i1,j1),F(i1,j))+A[i,j]
b) Con kin
C mt ng hnh tr, khi tri phng ra c th l mt bng MxN . Gi tr A[i,j] l lng thc
n c dng i ct j. Mt con kin xut pht t mt mp bn tri ca hnh tr v b
sang mp bn phi. T (i,j) kin c th b sang 1 trong 3 (i1,j+1), (i,j+1) hoc (i+1,j+1).
(Ch : v ng hnh tr nn kin ang dng 1 c th b xung dng M v ngc li). B qua
Trang14