Professional Documents
Culture Documents
a s cc bi quy hoch ng u da vo trng thi. Tuy nhin c trng thi d pht hin, c trng
thi kh pht hin, c bi ton s lng trng thi t, c bi ton s lng trng thi rt nhiu. V vy,
khi ni n q uy hoch ng trng thi ta thng ngh ngay rng y l cc bi ton tng i phc
tp, c khng gian trng thi ln m ta cn phi s dng k thut m ha bng dy bit nh phn . Sau
y l mt s bi ton c th gii quyt trit bng phng php quy hoch ng trng thi.
1. Chn - Select
Input
3
3 1 2
1 1 2
1 4 2
Ouput
9
V Vn Tr - CQB | Confidential
2
3
4
-
Thao tc quy hoch ng c thc hin bnh thng: tnh gi tr ca trng thi sau thng qua
cc trng thi k trc n:
V Vn Tr - CQB | Confidential
function getMax(state:long):long;
var j,k : byte; preState,max : long;
b : array[1..nm] of byte;
begin
{giai ma trang thai luu vao mang b}
fillchar(b,sizeof(b),0); k:=0;
for j:=1 to n do
if getBit(state,j-1)=1 then
begin
inc(k);
b[k]:=j;
end;
{Tim max cua cac trang thai lien truoc state + a[k,j] voi j
la bit khac duy nhat giua preState voi state}
max:=0;
for j:=1 to k do
begin
preState:=TurnOff(state,b[j]-1);
if max<T[preState]+a[k,b[j]] then max:=T[preState]+a[k,b[j]]
end;
getMax:=max;
end;
procedure DPBitmask; {Dynamic Programming with Bitmask}
var state,first,last:long;
begin
T[0]:=0;
first:=1; last:=1 shl n - 1; {2^n - 1}
for state:=first to last do T[state]:=getMax(state);
sumMax:=T[last];
end;
Input
-
Output
V Vn Tr - CQB | Confidential
Example
Input
6
0 1 2
5 0 3
4 1 0
4 2 5
2 5 3
5 4 3
Output
8
1
2
2
0
5
3
3
3
1
4
0
1
4
4
2
3
2
0
procedure DPBitmask;
var
u,i,j,k,state,preState,first,last : long;
V Vn Tr - CQB | Confidential
b : array[1..nm] of byte;
begin
first:=1; last:= 1 shl n -1;
for u:=1 to n do
for state:=0 to last do T[u,state]:=oo;
for u:=1 to n do T[u,1 shl (u-1)]:=0;
for state:=first to last do
begin
fillchar(b,sizeof(b),0);
k:=0;
{giai ma trang thai state}
for i:=1 to n do
if getBit(state,i-1)=1 then
begin
inc(k);
b[k]:=i;
end;
for i:=1 to k do
begin
u:=b[i];
preState:=TurnOff(state,b[i]-1);
for j:=1 to k do
if (i<>j) and
(T[b[j],preState]+c[b[j],u]<T[u,state]) then
T[u,state]:=T[b[j],preState]+c[b[j],u];
end;
end;
KetQua:=oo;
for u:=1 to n do
if T[u,last] < KetQua then KetQua:=T[u,last];
end;
nm trn giao ca dng i v ct j c gi l (i,j). Trn mi (i,j) c ghi mt s nguyn aij , i =1, 2,
3, 4; j =1, 2, ..., n. Mt cch chn l vic xc nh mt tp con khc rng S ca tp tt c cc ca bng
sao cho khng c hai no trong S c chung cnh. Cc trong tp S c gi l c chn, tng cc
s trong cc c chn c gi l trng lng ca cch chn. Tm cch chn sao cho trng lng l
ln nht.
V Vn Tr - CQB | Confidential
Input
-
Output
Example
Input
3
-1 9 3
-4 5 -6
7 8 9
9 7 2
Output
32
LUYN TP
1. Tr chi trn ma trn - M bi: QBGAME
Ngy nay cc nh khoa hc ngh ra 1 tr chi trn ma trn rt th v. Thng qua c th o IQ mt
cch kh hiu qu. Tr chi c m t nh sau:
Bn c 1 ma trn A kch thc 8 x N trn gm cc s nguyn l im ca cc . Ngi ta s yu
cu bn chn 1 tp khc rng cc trn ma trn ny sau tnh tng im trn nhng ny. Trong
nhng c chn khng c hai no k cnh. IQ ca ngi chi s t l thun vi s im nhn
c. Sherry tham gia tr chi v t kt qu kh tt.V by gi Sherry mun bit tng im ln nht
nhn c trong tr chi ny l bao nhiu. Bn hy gip sherry nh !!!
Input
-
Output
ij
V Vn Tr - CQB | Confidential
Example
Input
2
-22 2
-33 45
56 -60
-8 -38
79 66
-10 -23
99 46
1 -55
Output
279
Hai ngi anh mi chi nn hi l kem Lola chn b 1 mnh. Lola mun bit tt c c bao nhiu
cch xp b tha mn quy tc trn phng mi trng hp. V con s ny rt ln nn hy gip
Lola tnh ton con s ny.
Input
-
Output
-
Example
Input
1
1 1
Output
2
Mt th t b l 'hn lon' nu trong dy s seri to bi hng b, hai s lin tip khc bit nhau nhiu
hn K (1 <= K <= 3400). V d, nu N = 6 v K = 1 th 1, 3, 5, 2, 6, 4 l mt th t 'hn lon' nhng 1, 3,
6, 5, 2, 4 th khng (v hai s lin tip 5 v 6 ch chnh lch 1).
Hi c bao nhiu cch khc nhau N c b sp thnh th t 'hn lon'?
D liu
-
Kt qu
-
V d
Output
2
Output
-
Example
Input
60 86 59 38 82
61 59 57 89 59
Output
15 5 9 25 6
17 10 23 20 16
12 19 3 18 7
13 14 1 2 8
4 11 21 24 22
V Vn Tr - CQB | Confidential
im c o trong cng trnh ny l s phi mu gia cc qun domino ln cn chung cnh. Cc qun
domino c xp bng hai loi domino, loi 1 c mu xanh nht v loi 2 c mu xanh m. Qun
domino v tr ( , ) s phi tha mn iu kin: nu + l th mu qun domino ny s phi c mu
khng nht hn cc qun cc chung cnh (nu c), nu + chn th mu qun domino ny s phi
c mu khng m hn cc qun cc chung cnh (nu c).
c nhng thng tin th v khi gii thiu v cng trnh, Bm mun bit s lng cch xp khc nhau
ca cng on 1 v cng on 2. Hai cch xp c gi l khc nhau nu khi chng kht 2 cch ln
nhau (khng xoay hoc lt) c t nht mt qun khc mu.
D liu vo trong file DOMINO.INP c dng:
-
DOMINO.INP
1000
5 5 1 3 3
3 10000
DOMINO.OUT
240
593
V Vn Tr - CQB | Confidential