25
Bi 12. Bin đi dy s. Cho dy s nguyên dương a = (a1, a2, ...,an) (1 <= n <=100; 1 <= ai <= 100, 1 <= i <= n. Xt hai loi php bin đi : + Php bin đi +i : tăng ai lên 1 đơn v; + Php bin đi -i : gim ai đi 1 đơn v. Yêu cu: Hy tm mt cch s dng t php bin đi nht đ bin dy a tr thnh dy tho mn : 1 <= a1 < a2 < ... < an <= 100. D liu vo : + S n nhp t bn phm. + Cc s a1, a2, ..., an đưc nhp vo bng hm RANDOM. Kt qu ghi ra mn hnh: + Dng đu ghi s m l s php bin đi tm đưc. + m dng tip theo, mi dng ghi mt php bin đi. Cc anh giúp em bi ny với! Bi 1: Mt xâu S đưc gọi l mt " (K,L) - Lặp " nu nó đưc to thnh bng cch ghp liên tip K ln mt xâu ht ging T no đó đ di L(L>=1). Cho xâu U (có đ di 50000 k tự) chứa cc k tự a v b.Tm "(K,L)-lặp"v in ra ss ln lặp của nó. Input :s nguyên N(1<=N<=50000); n dng tip theo la cac ki tự 'a' v 'b' output: 1,Dng đu l s k(k lớn nht) 2,Dng l đ di L 3,V tr P xâu bắt đu repeat.inp 17 b a b b a b a a b a a b a a b a b repeat.out 4 3 5

Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

Bai 12. Biên đôi day sô.Cho day sô nguyên dương a = (a1, a2, ...,an) (1 <= n <=100; 1 <= ai

<= 100, 1 <= i <= n.Xet hai loai phep biên đôi :

+ Phep biên đôi +i : tăng ai lên 1 đơn vi;+ Phep biên đôi -i : giam ai đi 1 đơn vi.

Yêu câu: Hay tim môt cach sư dung it phep biên đôi nhât đê biên day atrơ thanh day thoa man : 1 <= a1 < a2 < ... < an <= 100.

Dư liêu vao :+ Sô n nhâp tư ban phim.

+ Cac sô a1, a2, ..., an đươc nhâp vao băng ham RANDOM. Kêt qua ghi ra man hinh: + Dong đâu ghi sô m la sô phep biên đôi tim đươc. + m dong tiêp theo, môi

dong ghi môt phep biên đôi.

Cac anh giúp em bai nay với! Bai 1: Môt xâu S đươc gọi la môt " (K,L) - Lặp " nêu nó đươc tao thanh băng cach ghep liên tiêp K lân môt xâu hat giông T nao đó đô dai L(L>=1).Cho xâu U (có đô dai 50000 ki tự) chứa cac ki tự a va b.Tim "(K,L)-lặp"va in ra ssô lân lặp của nó.Input :sô nguyên N(1<=N<=50000);n dong tiêp theo la cac ki tự 'a' va 'b'output:1,Dong đâu la sô k(k lớn nhât)2,Dong la đô dai L3,Vi tri P xâu bắt đâurepeat.inp17babbabaabaabaababrepeat.out435

có nghĩa la xâu U=babbabaabaabaabab chứa xâu con S có 3 ki tự (bab) lặp 4 lân tư vi tri 5.Bài toán tìm dãy con tăng chặt dài nhất

INCSEQCho day sô nguyên : P = p[1], p[2], …,p[n]. (n <= 10000, - 30000 <= p[i] <= 30000).

Môt day con của P la môt cach chọn ra trong P môt sô phân tư giư nguyên thứ tự.Yêu câu : Tim day con đơn điêu tăng của P có đô dai lớn nhât.

Dư liêu vao : “INCSEQ.INP” o Dong 1 : Chứa sô N.

Page 2: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

o N dong sau, môi dong ghi môt sô nguyên p[i].Dư liêu ra : “INCSEQ.OUT”

o Dong 1 : Ghi sô L la đô dai day con tim đươc.o L dong sau, môi dong ghi môt chỉ sô của cac phân tư trong day con tim đươc theo chiều tăng dân của

gia tri.

Vi du : INCSEQ.INP

12922101731714720217

24 INCSEQ.OUT

613491012

Cach giai : Ta sẽ giai bai toan với phương phap quy hoach đông.Gọi L[i] la đô dai của day đơn điêu tăng dai nhât bắt đâu tai p[i]. Khi đó kêt qua sẽ la Max{L[i], 1 <= i <= n}.Với môi phân tư p[i] (1 <= i <= n) dễ dang nhân thây day đơn điêu tăng dai nhât bắt đâu tai p[i] sẽ có 2 trường hơp :1. Day có 1 phân tư p[i].2. Day có phân tư thứ 2 la p[j] thỏa man : i + 1 <= j <= n, p[j] > p[i].Như vây đê day đơn điêu tăng bắt đâu tai p[i] la dai nhât thi ta phai tim phân tư jmax thỏa man : i + 1 <= jmax <= n, p[jmax] > p[i] va L[jmax] la lớn nhât (đê đam bao tinh dai nhât). Trường hơp không tồn tai j thỏa man => L[i] = 1 (trường hơp 1).Ta có công thức truy hồi : L[i] = Max{L[j], i + 1 <= j <= n, p[j] > p[i]} + 1. (1 <= i <= n)Đê truy vêt (in ra chỉ sô cac phân tư trong day) ta có thê dùng thêm mang D = d[1], d[2], …, d[n] với ý nghĩa : d[i] la vi tri phân tư tiêp L[i] = L[d[i]] + 1theo trong day con đơn điêu tăng dai nhât bắt đâu tai p[i] va p[d[i]] > p[i] hay d[i] = jmax.

Ta có chương trinh minh họa sau :

program tim_day_con_tang_chat_dai_nhat_cua_1_day;const tfi = 'Incseq.inp';

Page 3: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

tfo = 'Incseq.out';maxn = 10001;

type array1 = array[0..maxn] of integer;var n,vt : integer;

l,p,d : array1;(*-------------------------------------------------------------*)

procedure inp; (* Đọc dư liêu *)var i : integer;

beginassign(input,tfi); reset(input);

readln(n);for i := 1 to n do readln(p[i]);

close(input);end;

(*-------------------------------------------------------------*)procedure main; (* Quy hoach đông tim mang L va D *)

var i,j,k : integer;begin

vt := n; {vt la vi tri có L[vt] = Max{L[i], 1 <= i <= n}}for i := n downto 1 do

begin{Tim k = jmax}

k := 0;for j := i + 1 to n do

if (p[j] > p[i]) and (l[j] > l[k]) then k:= j;l[i] := l[k] + 1; {Lưu đô dai day đơn điêu tăng bắt đâu tai p[i]}

d[i] := k; {Lưu vêt vi tri phân tư tiêp theo trong day con tăng dai nhât bắt đâu tai p[i]}if (l[i] > l[vt]) then vt := i; {Câp nhât lai vi tri bắt đâu vt khi l[i] > l[vt]}

end;end;

(*-------------------------------------------------------------*)procedure out; (* Viêt kêt qua *)

beginassign(output,tfo); rewrite(output);

writeln(l[vt]); { Viêt đô dai của xâu con đơn điêu tăng dai nhât}{ Truy vêt – In chỉ sô cac phân tư đươc chọn }

while (vt <> 0) dobegin

writeln(vt);vt := d[vt];

end;close(output);

end;

Page 4: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

(*-------------------------------------------------------------*)begininp;

main;out;end.

Bai 4: cho môt day sô gồn n sô(n<~30000), tim day con liên tiêp có tông lón nhât .dùng quy hoach đông.

F(i) tông day con liên tiêp lớn nhât kêt thúc ơ iF(i) = max ( F(i - 1) + a[i], a[i])

ĐOẠN DƯƠNG nCho day sô nguyên a = (a1, a2, ..., an), 1 <i:= 100000; -1000000 <= ai <= 1000000 Hay tim môt đoan dai nhât gồm cac phân tư liên tiêp trong day a: aL, aL+1, ..., aH có tông dương

Dư liêu: Vao tư file văn ban SP.INP• Dong 1: Chứa sô n• Dong 2: Chứa n sô a1, a2, ..., an theo đúng thứ tự cach nhau it nhât môt dâu cach

Kêt qua: Ghi ra file văn ban SP.OUTChỉ gồm môt dong ghi hai sô L va H cach nhau it nhât môt dâu cach.

Rang buôc: Có it nhât môt phân tư dương trong a

Vi du:SEGMENT.INP 10-5 -2 -3 4 -6 7 -8 9 -1 -20SEGMENT.OUT3 9

Bai 5: Day sô nguyên a1, a2, …,a n đươc gọi la day móc xich, nêu tồn tai i<j<k<l, sao cho ai = ak va aj = al , ai # aj .

day sô đang xet đươc gọi la day móc xich bâc m nêu m phân tư liên tiêp của day đều la day móc xichyêu câu:

cho 3 sô m, n, r. hay xac đinh sô lương day sô nguyên tô dai n la day móc xich bâc m va môi phân tư của day có gia tri dương, không vươt qua r

4<= m <=8 m<= n <=502<= r <=50

kêt qua tim đươc đưa ra theo mô đun 10^9+7.Vi du : m= 4; n= 5; r = 3 ta có 6 day:

(1; 2; 1; 2; 1)(1; 3; 1; 3; 1)(2; 1; 2; 1; 2)(2; 3; 2; 3; 2)(3; 1; 3; 1; 3)(3; 2; 3; 2; 3)

dư liêu: vao tư file văn ban LINKED.INP, gồm 1 dong chứa 3 sô nguyên m, n, r.kêt qua : đưa ra file văn ban LINKED.OUT dưới dang sô nguyên.

Vi du

Page 5: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

LINKED.INP4 5 3

LINKED.OUT6

Bai 6: Sô đôi nguyên tô la môt sô ma sô ước của nó luôn lớn hơn sô ước của cac sô nguyên dương nhỏ hơn nó.

Đề: Nhâp vao 1 sô n va tim sô đôi nguyên tô lớn nhât nhỏ hơn n. Ai nghĩ ra cach giai băng quy hoach đông không?

Vưa nhâp môn quy hoach đông, thực ra lâu nay cứ khinh thường quy hoach đông vi nghĩ bai nao minh

cũng giai đươc băng vet can, nhưng hôm bưa mới thi đươc có 1/20 điêm vi dư liêu nhâp lớn qua .

Mây bưa nay tim hiêu quy hoach đông nhưng không hiêu lam sao ma hinh thanh đươc ý tương đê viêt 1 chương trinh quy hoach đông.

Chẳng han bai toan tim xâu con chung dai nhât.Xâu con chung được định nghĩa như sau: Nếu xóa đi một só kí tự của hai xâu thì 2 xâu con còn lại của

chúng bằng nhau

Ví dụ: a=(CEACEEC) b(AECECA) Kết quả là c=(ECEC) hoặc (AEEC)

Va thuât toan đưa ra la:

For i:=1 to length(a) do

For j:=1 to length( doif a[i]=b[j] then

L[i,j]:=1+L[i-1,j-1];else

L[i,j]:=max(L[i-1,j],L[i,j-1];

Đó la minh chep tư sach của Trân Lê Hồng Dũ va Pham Ngọc Chi Nhân nhưng minh vẫn không hiêu, mặc dù minh cho chay tưng dong thi tât ca rât khớp.

Ban nao có thê giai thich cho minh cai chô else L[i,j]:=max(L[i-1,j],L[i,j-1]; hay không, nó la cai lam minh thắc mắc nhât đó.

Giúp đỡ minh với nghe, đang học lớp 11 chuyên tin sắp học tới quy hoach đông rùi ma minh dỡ cai nay

qua hu hu L[i,j] la đô dai của xâu con chung dai nhât khi xet tới vi tri thứ i của xâu a va thứ j của xâu b .

nêu a[i]=b[j] thi dễ thây l[i,j]:=l[i-1,j-1]+1Nêu a[i]<>b[i] thi

Đô dai của xâu con chung dai nhât khi xet tới vi tri thứ i của xâu a va thứ j của xâu b la đô dai xâu con chung dai nhât khi xet tới vi tri i-1 của xâu a va j của xâu b hoặc đô dai xâu con chung dai nhât khi xet tới

Page 6: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

vi tri i của xâu a va j-1 của xâu bDo yêu câu xâu con chung dai nhât nên chọn max .

À , ma ban học ơ đâu vây ??? Minh cũng đanh học lớp 11. Môt du khach thuê môt xe ôtô đê du lich tư thanh phô A tới thanh phô B co khoang cach la S.(0<S<=10000).Trên đường đi có K cây xăng(0<K<2000) ma khach có thê đô xăngphuc vu cho cuôc hanh trinh.Do gia xăng biên đông nên gia xăng ơ môi cây xăng la khac nhau va người khach biêt thông tin về cac cây xăng trên hanh trinh tư A đên B.Gọi Di la khoang cach tư thanh phô A đên cây xăng thứ i va Ci la gia 1 lit xăng tai cây xăng thứ i.Đê đi đươc 1 Km, xe ôtô phai tôn 1 lit xăng.Binh xăng của xe có sức chứa tôi đa la M lit(M chẵn va 0<M<=200). Khi thuê xe ơ thanh phô A,binh xăng chỉ con đây 1 nưa binh, va khi tra xe ơ thanh phô B binh xăng cũng phai con đây it nhât nưa binh.Hay tim cach đô xăng sao cho khach tôn it chi phi nhât va xe không bi hêt xăng giưa đường đi.

INPUT.-Dong đâu la 3 sô S,M,K.-Cac dong tiêp theo , môi dong thứ i gồm 2 sô Di , Ci.Môi sô cach nhau it nhât môt khoang trắng.

OUTPUTNêu không thê đi tư A đên B thi ghi "Không thê đi đươc"Ngươc lai gồm 2 dong:-Dong đâu gồm 1 sô la tông chi phi it nhât dùng mua xăng.-Dong tiêp theo gồm K sô, môi sô thứ i la sô xăng phai đô ơ cây xăng thứ i.

VD:Doxang.inp50 20 57 30012 35020 25035 30042 250

Doxang.out1310010020218Môt du khach thuê môt xe ôtô đê du lich tư thanh phô A tới thanh phô B co khoang cach la S.(0<S<=10000).Trên đường đi có K cây xăng(0<K<2000) ma khach có thê đô xăngphuc vu cho cuôc hanh trinh.Do gia xăng biên đông nên gia xăng ơ môi cây xăng la khac nhau va người khach biêt thông tin về cac cây xăng trên hanh trinh tư A đên B.Gọi Di la khoang cach tư thanh phô A đên cây xăng thứ i va Ci la gia 1 lit xăng tai cây xăng thứ i.Đê đi đươc 1 Km, xe ôtô phai tôn 1 lit xăng.Binh xăng của xe có sức chứa tôi đa la M lit(M chẵn va 0<M<=200). Khi thuê xe ơ thanh phô A,binh xăng chỉ con đây 1 nưa binh, va khi tra xe ơ thanh phô B binh xăng cũng phai con đây it nhât nưa binh.Hay tim cach đô xăng sao cho khach tôn it chi phi nhât va xe không bi hêt xăng giưa đường đi.

INPUT.-Dong đâu la 3 sô S,M,K.-Cac dong tiêp theo , môi dong thứ i gồm 2 sô Di , Ci.Môi sô cach nhau it nhât môt khoang trắng.

OUTPUTNêu không thê đi tư A đên B thi ghi "Không thê đi đươc"Ngươc lai gồm 2 dong:-Dong đâu gồm 1 sô la tông chi phi it nhât dùng mua xăng.-Dong tiêp theo gồm K sô, môi sô thứ i la sô xăng phai đô ơ cây xăng thứ i.

VD:Doxang.inp50 20 57 30012 35020 250

Page 7: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

35 30042 250

Doxang.out1310010020218Bai nay có thê dùng QHĐ đươc không vây cac anh?

Người ta đinh nghĩa đê qui day ngoặc va câp của day như sau:

+) Xâu rông đươc gọi la day ngoặc câp 0.

+) Nêu S la xâu ngoặc câp k thi (S) la xâu ngoặc câp k+1.

+) Nêu A, B la cac day ngoặc thi S = AB la môt day ngoặc với câp băng sô lớn hơn trong câp của A va B.

Đinh nghĩa nay chỉ ap dung cho nhưng xâu sinh ra theo qui tắc đê qui trên.

Cho 2 sô nguyên dương N va k, gọi S la tâp cac day ngoặc câp k đô dai N.

1. Cho biêt S có bao nhiêu phân tư.

2. Cho môt day ngoặc thuôc, hay cho biêt thứ tự tư điên của day nay trong tâp S. Input

- Dong đâu ghi 2 sô N, k (N chẵn, N <= 38, k <= n/2 ).

- Dong hai ghi 1 xâu ngoặc câp k đô dai N. Output

Gồm hai dong, môi dong tra lời 1 yêu câu theo thứ tự trên. ExampleInput:6 2(())()

Output:32

938. Thang máy vũ trụMã bài: ELEVATOR

Những con bò muốn đi vào vũ trụ! Chúng muốn đến được quỹ đạo bằng cách xây một kiểu thang máy: một cái tháp khổng lồ làm bằng các khối chồng lên nhau. Chúng có K (1 ≤ K ≤ 400) loại khối có thể xây tháp. Mỗi khối loại i có chiều cao h_i (1 ≤ h_i ≤ 100) và có số lượng c_i (1 ≤ c_i ≤ 10). Do khả năng bị phá hủy bởi các tia vũ trụ, không có phần nào của khối loại i có thể vượt qua độ cao a_i (1 ≤ a_i ≤ 40000).

Giúp những con bò xây thang máy cao nhất có thể bằng cách chồng các khối lên nhau theo luật trên.

Input* Dòng 1: Một số nguyên: K

* Dòng 2..K+1: Mỗi dòng chứa 3 số nguyên được phân cách bởi khoảng trắng: h_i, a_i, và c_i. Dòng i+1 miêu tả loaị khối i.

Output* Dòng 1: Một số nguyên H, chỉ độ cao tối thiểu của tháp có thể xây được.

ExampleInput:37 40 35 23 8

Page 8: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

2 52 6

Output:48

GIẢI THÍCH: Từ dưới lên: 3 khối loại 2, 3 khối loại 1, 6 khối loại 3. Chồng 4 khối loại 2 & 3 loại 1 không hợp lệ vì đỉnh của khối loại 1 vượt quá độ cao 40.

đâu tiên minh sắp xêp cac khôi tăng dân theo A[i]sau đó quy hoach đông : F[i, j] la đô cao lớn nhât khi xet tới khôi i va dùng j khôi đó ( j <= c[i] ).

ta có : F[i, j] := max {F[i-1, k] + j*h[i]} với F[i-1, k] + j*h[i] <= a[i] khi j > 0

Nhưng khi submit toan bi WA. không biêt cach lam của minh sai ơ đâu nhỉ ?

đâu tiên minh sắp xêp cac khôi tăng dân theo A[i]sau đó quy hoach đông : F[i, j] la đô cao lớn nhât khi xet tới khôi i va dùng j khôi đó ( j <= c[i] ).

ta có : F[i, j] := max {F[i-1, k] + j*h[i]} với F[i-1, k] + j*h[i] <= a[i] khi j > 0

Nhưng khi submit toan bi WA. không biêt cach lam của minh sai ơ đâu nhỉ ?

const fi='';     fo='';var   f1,z:text;     n:word;     h,so,a:array [0..400] of word;     f:array [0..400,0..10] of longint;

{+++++++++++++++++++++++++++++++++++++++++++++}

procedure doc;var i:word;begin    assign(f1,fi);    reset(f1);    readln(f1,n);    for i:=1 to n do        readln(f1,h[i],a[i],so[i]);    close(f1);end;

{++++++++++++++++++++++++++++++++++++++++++++++}

procedure doi(var m,n:word);var tam:word;begin    tam:=m;    m:=n;    n:=tam;end;

{+++++++++++++++++++++++++++++++++++++++++++++++}

procedure qsort(dau,cuoi:word);var d,c,x:word;begin    d:=dau;    c:=cuoi;    x:=a[(d+c) div 2];    repeat          while a[d]<x do d:=d+1;          while a[c]>x do c:=c-1;          if d<=c then             begin                  doi(a[d],a[c]);                  doi(h[d],h[c]);                  doi(so[d],so[c]);                  d:=d+1;

Page 9: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

                  c:=c-1;             end;    until d>c;    if d<cuoi then qsort(d,cuoi);    if c>dau then qsort(dau,c);end;

{++++++++++++++++++++++++++++++++++++++++++++++++++++++}

procedure xay;var i,j,k,max:word;begin    qsort(1,n);    so[0]:=10;    for i:=0 to 10 do        f[0,i]:=0;    for i:=1 to n do        begin             for j:=1 to so[i] do                 begin                      max:=0;                      for k:=1 to so[i-1] do                          begin                               if (f[i-1,k]+j*h[i]<=a[i]) and (f[i-1,k]+j*h[i]>max) then                                  max:=f[i-1,k]+j*h[i];                          end;                      f[i,j]:=max;                 end;        end;end;

{++++++++++++++++++++++++++++++++++++++++++++++++++++++}

procedure ghi;var i,max:word;begin    assign(z,fo);    rewrite(z);    max:=0;    for i:=1 to so[n] do        if f[n,i]>max then           max:=f[n,i];    write(z,max);    close(z);end;

{+++++++++++++++++++++++++++++++++++++++++++++++++++++}

begin    doc;    xay;    ghi;    readln;end.

Cho một bảng A gồm M hàng, N cột, trong đó A[i, j] nhận giá trị là 1 số thực.nhiệm vụ của bạn là xây dựng một bảng B, trong đó B[i, j] có giá trị bằng phần nguyên của A[i, j] hoặc phần nguyên của A[i, j] + 1, sao cho : tổng các giá trị của 1 hàng, cột bất kì trong bảng B luôn chênh lệch với giá trị của hàng (cột)  đó trong bảng A không quá 1.

giới hạn M, N <= 1000.

Input  M, N  M dòng tiếp theo, mỗi dòng N số thực Output   xuất ra bảng B

Trong môt nước người ta phat hanh N loai tem khac nhau về gia tri( vd:loai tem 1 đ, 3dd,...). Người ta không cho phep dan trên môi vât phẩm qua M con tem(có thê dan tem cùng loai). Gia cước môi vât phẩm la môt sô nguyên đồng. Nhâp M,N tư ban phim. XÁc đinh tât ca cac bô gia tri của cac loai tem cân phat

Page 10: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

hanh sao cho day gia cước của cac vât phẩm đươc gưi la môt day cac sô nguyên liên tiêp dai nhât 1,2,3,....,sVDSô loai tem: N=4;Sô tem nhiều nhât trên 1 vât phẩm: M=5 thi day giac cước gưi đươc dai nhât la 1,2,3,....,s=71 với bô tem {1,4,12,21} hoặc bô {1,5,12,28}

Khăn trai banQuây ăn của 1 k/s cân sư dung d[1],...,d[N] khăn trai ban cho n ngay liên tiêp đanh sô tư 1->N. K/s có 3 phương an có thê chọn:- Mua mới với gia A đồng/khăn- Giặt tra nhanh, tra ngay i + 1 gia B đồng/khăn- Giặt tra châm, tra ngay i + 2 gia C đồng/khănGia sư ban đâu k/s chưa có khăn, hay lâp kê hoach sao cho tôn it tiền nhât.Dư liêu vao: - Dong 1: N, A, B, C (N <= 100), (A < B<C);- Dong 2: gồm N sô nguyên dương d[1]...d[N]Dư liêu ra: - Dong 1: Chi phi nhỏ nhât.- Dong i trong N dong tiêp theo: 3 sô M[i], Tranhanh[i], Tracham[i] với ý nghĩa la sô khăn mua mới, sô khăn giặt tra nhanh va sô khăn giặt tra châm trong ngay thứ i.Vi du:.Inp: 8 10 8 5 10 8 9 20 7 1 7 9 .Out 49627 0 10 0 0 8 0 2 7 0 0 17 0 0 0 0 0 0 0 0 0 0 0 0

Thêm môt bai QHĐ nưa nhe cho vui vẻ , bai nay minh cũng chưa có cach nao hay ca : Cho N cai hôp, môi cai hôp có môt trọng lương Wi va có kha năng chiu đươc trọng lương Ci. Yêu câu : Hay tim cach xêp đươc nhiều hôp chồng lên nhau nhât (cai trên chồng lên cai dưới) sao cho ko có hôp nao bi vỡ do qua tai ca ( nghĩa la tông trọng lương nhưng hôp ơ trên môt hôp trong chồng <= tai trọng của cai hôp đó) . Dư liêu vao : Dong đâu la N ( N<=50 lam cang lớn cang tôt)Dong 2 : W1... Wn (Wi<=100000)Dong 3 : C1... Cn (Ci<=1000000000).Kêt qua : Sô hôp nhiều nhât tim đươc.

VDInput 310 20 3011 100 10Output 3

Input 311 20 3011 100 10Output 2

em có bai nay thây cũng hay hay, nhưng em lam qua yêu kem nên mong cac

đai ca chỉ giao!

Page 11: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

giam đôc điều hanh của môt công ty tin học cân xac đinh sô lương nhân công cân sư dung trong môi thang đê thực hiên dự an.

ông biêt đươc sô luơng nhân công cân tôi thiêu cho môi thang.môi lân thuê hay sa thai 1 công nhân đều mât 1 lương tiền nhât đinh.

khi 1 người thơ đươc thuê,anh ta cũng có lương ngay ca khi anh ta ko lam viêc.giam đôc biêt đươc chi phi thuê,tra lương va sa thai 1 công nhân lân lươt la x,y,z.

yêu câu:hay giúp giam đôc xac đinh sô luơng nhân công cân thuê hay sa thai trong môi thang đê :CHI PHÍ THỰC

HIỆN DỰ ÁN LÀ ÍT NHẤT input:

dong 1:sô n(sô thang thực hiên dự an)dong 2: 3 sô x,y,z

dong 3:ghi n sô ,sô thứ i la sô lương nhân công tôi thiêu ma thang thứ i cân có

output:tông chi phi min có đươc

vi du:input:

34 5 6

10 9 11output:

199{giai thich:

thang 1:thuê 10 người==>tông chi phi thuê va lương la :10*4+0*5=90thang 2:ko thuê thêm va cũng ko sa thai ==>tông tiền lương:10*5=50;

thang 3:thuê thêm 1 công nhân:==>tông chi phi thuê va lương:1*4+11*5=55;tông 3 thang:199}

program thuenhancong;

var thue,luong,sathai,n:integer;

   employee:array[1..100] of integer;

   min:array[1..100] of integer;

procedure input;

var f:text; i:integer;

begin

assign(f,'nhancong.inp');

reset(f);

readln(f,n);

readln(f,thue,luong,sathai);

for i:=1 to n do

 begin

Page 12: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

  read(f,employee[i]);

 end;

end;

procedure QHD;

var t1,t2, i,j:integer;

begin

  fillchar(min,sizeof(min),0);

  min[1]:=(thue+luong)*employee[1];

  for i:=2 to n do

   begin

    if  employee[i]>=employee[i-1] then

     min[i]:=min[i-1]+(employee[i]-employee[i-

1])*thue+luong*employee[i]

    else

    begin

       t1:=sathai*(employee[i-1]-employee[i])+luong*employee[i];

       t2:= luong*employee[i-1];

       if (t2<t1) then {Khong thue them, khong sa thai}

        begin

         min[i]:=min[i-1]+t2;

         employee[i]:=employee[i-1];

        end

       else min[i]:=min[i-1]+t1;

    end;

   end;

end;

begin

input;

QHD;

writeln(min[n]); readln;

end.

--------------------The more you give, the more you receive.

tin_truc22 Nov 9 2007, 08:57 PM Post #4

Advanced Member

Lâu lắm rồi mới đung lai pascal (hơn 1 năm) minh lam kiêu nay hơi bi điên điên nhưng vẫn đúng đươc test đâu mời mọi người xem hô.

Page 13: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

Group: MembersPosts: 46

Joined: 18-September 05Member No.: 641

var i,j,m,n,x,y,z,max:integer;can:array [1..100] of integer;

a:array [1..100,1..100] of integer;procedure nhapdulieu;

var f:text;begin

assign(f,'in.txt');reset(f);

readln(f,n);read(f,y,x,z);

for i:=1 to n doread(f,can[i]);

end;Function min(i,j:integer):integer;

var jj,thue,somin:integer;begin

somin:=10000;if j>=can[i] thenfor jj:= 1 to m do

beginIf j-jj <> 0 thenIf j-jj > 0 then

thue:=(j-jj) * y + j * x + a[i-1,jj]else

thue:=(jj-j) * z + j * x + a[i-1,jj]else

thue:=j * x + a[i-1,j];if thue<somin then somin := thue;

end;min := somin;

end;begin

nhapdulieu;m:=100;

for j:=1 to m doif j>=can[1] thena[1,j]:=j * x + j * y

elsea[1,j]:=10000;

for i:=2 to n dofor j:=1 to m doa[i,j]:=min(i,j);

Page 14: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

max := 10000;for j:= 1 to m do

if (max > a[n,j]) then max := a[n,j];writeln(max);

readln;end.

Cho n sô nguyên n<=100000 với công sai 1<=N<=100. Hay tim môt day con của day sô trên (day con đươc lây tư cac sô trong day trên theo tứ tự) sao cho lâp thanh môt câp sô công dai nhât.

time limit: 2s.(hoặc có thê hơn)--------------Mong mọi người giúp đỡ. Bai nay minh đa tưng suy nghi tư lâu rồi nhưng không sao lam đươc

Bai nay minh muôn giai băng phương phap thư va quay lui. Minh đa cai đặt đươc rồi nhưng chương trinh của minh chỉ chay đươc với nhưng dư liêu nhỏ thôi. Con môt sô Test quan trọng thi lai chay qua lâu, đơi mai. Nêu ai đa giai bai nay rồi thi giúp minh với, cho minh xin luon ca code nhe.Tên đề bai:

Đô nước vao binhCho môt thùng T dung tich có thê xem la vô han va n binh có dung tich V1, V2, ..., Vn lit (n ≤ 20 va Vi ≤ 100). Liêu có thê dùng n binh nay đê đô vao thùng T đúng V lit (V ≤ 1000) lit nước hay không? Nêu đươc hay tim cach đô sao cho tông sô binh đem sư dung la it nhât (môi binh có thê dùng nhiều lân).Yêu câu:Dư liêu vao cho bơi File DONUOC.INP- Dong thứ nhât ghi thê tich nước cân đô V;- Dong thứ hai ghi sô N;- Cac dong tiêp theo ghi cac gia tri của cac ViKêt qua đươc ghi ra file DONUOC.OUT:- Dong thứ nhât ghi sô lương binh it nhât cân dùng.- Cac dong tiêp theo ghi cac loai binh đươc dùng, sô lương của môi loai.DONUOC.INP 10001572 23 37 95 26 43 63 21 46 48 52 31 38 56 2 DONUOC.OUT12So loai binh 56 lit: 1So loai binh 37 lit: 1So loai binh 52 lit: 1So loai binh 95 lit: 9

Vao năm 1945, Liên Xô đang đanh nhau với phat xit Đức hêt sức ac liêt. Hang triêu thanh niên Liên Xô phai lên đường nhâp ngũ. Môt cuôc duyêt binh diễn ra, cac tân binh không biêt đứng quay mặt về bên nao liền xêp tùy ý, vi tông chỉ huy thây thê liền ra lênh: “Nêu hai tân binh liên tiêp va đôi mặt với nhau thi ngay lâp phai quay ngươc lai(180 đô), đông tac nay diễn ra trong vong 1s!”. Người tông chỉ huy muôn biêt sau bao lâu thi thi đôi hinh sẽ ngưng quay?Input

Dong đâu ghi sô nguyên N la sô tân binh.Dong thứ hai gồm đúng N ki tự ‘<’, ‘>’ thê hiên cach đứng của cac tân binh. Nêu hai tân binh liên tiêp quay mặt vao nhau thi sẽ đươc biêu diễn bơi ‘><’. ( 1 ≤ n ≤ 1000000 ).Output

Gồm môt sô duy nhât ghi thời gian it nhât đê đôi hinh ngưng quay.Example

Input:4<><>

Output:1

Page 15: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

cho file tau.txt chứa cac ky tu 0 hay 1:cac ký tự 1 la tau, 0 la núoc (sat mi của 4 canh la bờ), y/c hay đêm cac con tau trên pham vi nhin thây duoc cho bơi bang m*n.VD:10000111100001110011100000111000101110010000000000100010

vây KQ có 7 con tau.

Tim hinh vuong chua 1 day con dai nhatcho hinh vuong gom N*N moi o chua 1 so nguyen duong khac nhaubang cach lay tong cua cac so nam trong cac o vuong tao thanhhinh chua nhat ta nhan duoc 1 day so.Vidu: hv 2*21 36 2-> ta duoc day 1,2,3,4,5,6,7,8, ,121+2=3,2+3=5,1+6=7,2+6=8,1+2+3+6=12

Cho hinh vuong 3*3 can chon 9 so >=k va doi mot khac nhau, moiso dien vao 1 o hinh vuong de sao cho day thu duoc thanh lap theotren chua day con m,m+1,..m+t dai nhat co the duoc.2 hinh vuong so duoc coi la nhu nhay neu bang phep quay ta cothe dua hinh vuong nay ve hinh vuong kia.neu co nhieu hinh vuongso cung cho ta day con dai nhat thi cho biet tat ca cac hinh vuong do

input output k t m r viduinput output1 71 1

1 3 6 2

ĐÀI PHUN NƯỚC

Đê lam đẹp canh quan, Ban giam đôc môt Công ty quyêt đinh xây dựng ơ sân tiền sanh tru sơ công ty môt đai phun nước. Đai phun nước phai có dang môt hinh tron với kich thước lớn nhât có thê đươc. Nha thiêt kê đươc biêt la sân tiền sanh của công ty có dang môt hinh chư nhât kich thước X <= Y met. Tuy nhiên khi lựa chọn vi tri cho đai phun nước nha thiêt kê vâp phai môt vân đề phức tap: Trong sân tiền sanh có N côt hinh tru tron xoay không đươc phep di chuyên. Vi vây vân đề đặt ra cho nha thiêt kê la: Cân đặt đai phun nước ơ vi tri nao đê nó có ban kinh lớn nhât có thê đươc đồng thời không đươc có diên tich chung khac không với cac côt. Ban hay lâp trinh giúp nha thiêt kê giai quyêt vân đề trên.

Dư liêu: Vao tư file văn ban FONTAN.INP:• Dong đâu tiên chứa hai sô thực X, Y, 1 <= X, Y <= 10^4. Gia thiêt răng sân tiền sanh la hinh chư nhât trên mặt phẳng toa đô có toa đô cac đỉnh la (0, 0), (X, 0), (X, Y), va (0, Y).• Dong thứ hai chứa sô nguyên N (0 <= N <= 10) la sô lương côt trong sân tiền sanh;• Dong thứ i trong sô N dong tiêp theo chứa ba sô thực Xi, Yi va Ri cho biêt toa đô của tâm va ban kinh của côt thứ i ( Ri <= Xi <= X - Ri, Ri <= Yi <= Y - Ri, 0.1 <= Ri <= min (X/2, Y/2), đôi với mọi i <= j.Cac sô trên môt dong trong file dư liêu đươc ghi cach nhau bơi dâu cach.

Kêt qua: Ghi ra file văn ban FONTAN.OUT ba sô thực XF, YF RF la toa đô va ban kinh của đai phun nước.

Chú ý: Đai phun nước phai đươc đặt trong sân, đươc phep tiêp xúc với tường của sân hoặc côt, nhưng không đươc có diên tich chung khac không với cac côt. Nêu có nhiều vi tri cùng cho ban kinh lớn nhât chỉ cân đưa ra môt trong sô chúng.

Vi du:

FONTAN.INP

Page 16: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

10 200

FONTAN.OUT5.000 5.000 5.000

FONTAN.INP 20 2042 2 218 2 22 18 218 18 2

FONTAN.OUT10.000 10.000 9.314

FONTAN.INP 20 2042 2 218 2 23 17 216 16 4

FONTAN.OUT9.510 7.054 7.053

Trong siêu thi người ta thường đặt camera trong cac gian hang đê theo dõi khach va nhân viên.Gian hang la đa giac ma hai canh có chung đỉnh luôn vuông góc với nhau va không tự cắt.

Bai toan: Cho 1 gian hang, hay xac đinh xem có hay không môt điêm năm trong nó ma đặt camera ơ đó thi quan sat đc mọi điêm trong gian.

SP.Inp: - Dong đâu la sô N (<=100) la sô đỉnh.

- N dong tiêp theo, môi dong ghi 2 sô x, y la toa đô của đỉnh. Sp.Out:

- 1/0 <=> có/không

VD: SP.Inp

40 0 0 1 1 1 1 0

SP.Out1

Mưa thiên thach

Phú ông nhân đươc thông tin về môt trân mưa thiên thach sắp âp xuông trai đât. Không nhưng thê, Phú ông con biêt tọa đô của vi tri điêm rơi của môi môt thiên thach. Phú ông nhờ Cuôi xac đinh xem có bao nhiêu thiên thach có thê rơi xuông canh đồng của ông ta. Canh đồng của Phú ông có dang môt hinh đa giac lồi đươc xac đinh bơi danh sach cac đỉnh đươc liêt kê theo thứ tự ngươc chiều kim đồng hồ.Yêu câu: Xac đinh xem trong tâp cho trước cac điêm rơi của thiên thach, có bao nhiêu điêm năm trong canh đồng của Phú ông. Cac điêm năm trên biên của canh đồng không đươc tinh la điêm năm trong canh đồng.

Page 17: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

Input

- Dong đâu tiên la sô nguyên n (3 <= n <= 5000) la sô đỉnh của đa giac lồi mô ta canh đồng của Phú ông.- Môi dong trong n dong tiêp theo chứa cặp tọa đô của môt đỉnh của đa giac lồi.- Dong tiêp theo la sô nguyên m (2 <= m <= 5000) - sô thiên thach rơi xuông.- Môi dong trong sô m dong cuôi cùng chứa 2 sô la tọa đô điêm rơi của môt thiên thach.Cac tọa đô la cac sô nguyên có tri tuyêt đôi không qua 10^6.Output

Ghi ra m dong, môi dong tương ứng với 1 điêm rơi của thiên thach. Ghi "YES" nêu điêm rơi của thiên thach năm trong canh đồng va ghi "NO" nêu trai lai.Example

Input:42 48 46 84 643 54 75 56 7

Output:NONOYESYES

Ma bai: PRAVO

Cho n điêm trên mặt phẳng. Hỏi có bao nhiêu tam giac vuông đươc tao thanh.Input

* Dong đâu tiên chứa sô nguyên dương n (3<=n<=1500), sô điêm trên mặt phẳng* Dong thứ i trong n dong tiêp theo, môi dong chứa 2 sô nguyên xi, yi, tọa đô của môt điêm (-109<=xi, yi <= 109). Không có hai điêm nao có cùng tọa đô.

Output

Gồm môt dong duy nhât la sô lương tam giac vuông tim đươc.Example

Input:34 22 11 3

Output:1

Input:45 02 68 65 7

Output:0

Input:5-1 1-1 00 0

Page 18: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

1 01 1

Output:7

1372. Diện tích các tam giác vuông cân Problem code: TRIANGLE

Cho N tam giac vuông cân . Hay tinh diên tich miền bi phủ bơi N tam giac nay .

InputDong 1 : sô nguyên N ( 1 ≤ N ≤ 2000 ) . N dong tiêp theo , môi dong gồm 3 sô nguyên xi , yi , mi ( -10^7 ≤ xi , yi ≤ 10^7 , 1 ≤ mi ≤ 1000 ) mô ta toa đô tam giac thứ i , 3 đỉnh tam giac i sẽ có toa đô (xi,yi) , (xi+mi,yi) , (xi,yi+mi) .

OutputGồm 1 dong duy nhât ghi ra diên tich miền bi phủ .

Example

Input:5-5 -3 6-1 -2 30 0 2-2 2 1-4 -1 2Output:24.5

CHo n giac lồi 4<=n<=1500Tim 4 trong n đỉnh đê tao thanh tứ giac có diên tich lớn nhât

Cho 2 đa giac lồi không chồng lên nhau va cũng không cắt nhau. Hay xac đinh khoang cach giưa 2 đa giac, biêt khoang cach giưa 2 đa giac la khoang cach ngắn nhât giưa 1 điêm thuôc đa giac nay va 1 điêm thuôc đa giac kia. Dư liêu vao la tọa đô cac đỉnh của môi đa giac theo thứ tự kimg đồng hồ hoặc ngươc lai.

Trong hinh chư nhât ABCD,kẻ nhưng đoan ST va UV phân chia Hinh chư nhât thanh nhiều phân.(ơ đây S,T,U,V thuôc canh của tứ giac ABCD).

Yêu cầu:ban hay viêt chương trinh đê tinh diên tich cac hinh tao bơi tứ giac ANCD sau khi bi 2 đoan ST va UV cắt.

Dữ liệu vào:cho trong file AERA.INP-Dong đâu ghi sô N-Sô bô test

-N dong tiêp theo ghi 16 sô nguyên lân lươt la tọa đô của cac điêm A,B,C,D,S,T,U,V môi sô viêt cach ra 1 dâu cach.

Dữ liệu ra:ghi ra file AREA.OUT -Tương ứng với môi bô test trong file vao,in ra 1 dong:ghi diên tich cac hinh tao bơi bô test đó.

Kiểm tra:AREA.INP

42 1 10 1 10 -1 2 -1 3 1 4 -1 5 1 5 -12 1 10 1 10 -1 2 -1 5 1 4 -1 5 1 5 -12 1 10 1 10 -1 2 -1 3 1 5 -1 5 1 5 -12 1 10 1 10 -1 2 -1 3 1 5 -1 5 1 3 -1

AREA.OUT

Page 19: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

3.000 3.000 10.0005.000 1.000 10.000

3.000 1.000 1.000 11.000 Cho n (n<=100) hinh gồm m hinh chư nhât va (n-m) hinh tam giac vuông, trong đó môi hinh đươc cho bơi 2 sô nguyên dương (với HCN la chiều dai canh, con với tam giac vuông la 2 canh góc vuông). Có 2 thao tac sau đây với cac hinh:

Thao tac "xóa": nêu có 1 hinh nao đó năm trọn trong 1 hinh kia thi loai bỏ ca 2 hinh đó. Sô hinh bi giam đi 2.

Thao tac "ghep": Nêu có 2 HCN không bao ham song lai có 1 canh băng nhau thi ghep chung, tao ra 1 HCN mới có 1 canh la canh chung con canh kia la tông của 2 canh con lai, loai bỏ 2 HCN đa ghep. Sô HCN giam đi 1.

Hay tim cach sư dung 2 thao tac xóa va ghep đê cuôi cùng sô lương hinh con lai la it nhât.

Bai nay thuât toan như thê nao vây? Sẵn có ai giỏi hinh tinh giùm minh công thức đê xet 1 hinh có năm trọn trong hinh kia không (HCN va tam giac vuông)Gia sư 2 canh tam giac vuông la a va b ( a <= b )2 canh hinh chư nhât la c va d ( c <= d )

Điều kiên đê 1 hinh có năm trọn trong hinh kia không la :

ĐẢO NGƯỢC XÂUCho xâu ký tự X = x1 x2…xn ta đinh nghĩa phep đao ngươc xâu con la viêc thay thê xâu con xi xi+1…..xj-1 xj bơi xâu đao ngươc của nó….Hai phep đao ngươc xâu con đươc gọi la đôc lâp nêu cac xâu con bi biên đôi la không giao nhau.

Yêu câu: Cho trước hai xâu X va Y có cùng đô dai. Hay Tim môt sô it nhât phep đao ngươc xâu con đôc lâp đê biên đôi xâu X về xâu Y hoặc xac đinh lako thê thực hiên phep biên đôi như vây đê biên X thanh Y. Gia thiêt la đô dai của cac xâu ko qua 200.

dư liêu : REVSTR.INP

Page 20: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

- dong đâu xâu X- Dong 2 xâu Y

Kêt qua: REVSTR.OUTDong đâu la sô K phep biên đôi.nêu k=0 thi xongnêu k<>0 thi trong k dong tiêp theo, dong thứ i mô ta phep đao ngươc xâu con thứ i bao gồm chỉ sô bắt đâu va chỉ sô kêt thúc.

Vi duREVSTR.INPuniversityofhochiminhvinusreifoyfhocihminh

REVSTR.OUT41 45 79 1216 17

Cho day sô gồm cac sô trong đoan [N, M] va 1 sô K. Môt day gọi la K hơp sô nêu tông mọi K sô liên tiêp trong day đều la hơp sô.

Cho M, N, K hay in ra 1 day K hơp sô. ( 1 <= N <= M <= 100, K < M - N)

1) cho hinh chư nhât lớn PxQ , va môt tâp gồm N hinh chư nhât đươc đặc trưng bơi đô dai hai canh la Ai , Bihỏi có thê đặt N hinh chư nhât trên vao hinh chư nhât PxQ không , không đươc có phân nao thưa ra ngoai , không có hai hinh nao đè lên nhau//INPP QNAi,Bi (N dong sau)//OUT YES/NO

2) cũng lai cho hinh chư nhât lớn PxQ va tâp hơp nói trên với môi cach đặt N hinh vao trong hinh chư nhât PxQ , ta có thê tim đươc môt hinh chư nhât G , năm hoan toan trong hinh chư nhât PxQ va không vướng vao N hinh chư nhât AixBi , sao cho diên tich của G la lớn nhât , gọi diên tich đó la Syêu câu : tim cach đặt N hinh vao trong hcn PxQ sao cho S đat max

Đây la bai tâp thây My cho bọn em ( lớp 10 ):

Cho môt mang A gồm n phân tư ( n<= 10000 )Tim môt cach chia mang A thanh cac day con tăng sao cho sô lương day con la nhỏ nhât.Têp inp : dong đâu chứa n n dong sau la cac gia tri A[1] ---> A[n]Têp out : dong đâu chứa sô lương day con kk dong sau môi dong la môt day conTest :part.inp7251183915

part.out37 11 152 5 83 9

Page 21: Bài 12 · Web viewVí dụ : INCSEQ.INP 12 9 22 10 17 3 17 14 7 20 21 7 24 INCSEQ.OUT 6 1 3 4 9 10 12 Cách giải : Ta sẽ giải bài toán với phương pháp quy hoạch động

Cho n đồ vât có khôi lương la w[i]. Hay nhet đồ vât nay vao cac thùng(môi thùng chỉ chứa đươc khôi lương la m) sao cho :

+ Môi vât nhet đúng vao 1 thùng+ Sô thùng dùng la it nhât có thê.

N <= 100,m <= 10000. w[i] <= m.Theo em biêt thi bai nay phai duyêt nhưng em chưa có cach duyêt nhanh.

Mong cac anh gơi ý giúp em.