Skip to content
Narrow screen resolution Wide screen resolution Auto adjust screen size Increase font size Decrease font size Default font size default color grey color
         
 | 
VNOI - Olympic tin học Việt Nam

Điểm tin VOJ

Số thành viên:6040
Số bài tập:1001
Số bài nộp:722923
Bài nộp hôm nay:0

Top 10 thành viên xuất sắc

HạngThành viênĐiểm
1mr_invincible587.9
2white_cobra418.6
3hieult403.4
4phaleq384.0
5vodanh9x368.2
6con_nha_ngheo352.0
7flash_mt350.2
8darksabers349.8
9yenthanh132345.3
10rockman9x_94343.1

Danh tiếng các thành viên

HạngThành viênĐiểm
1mr_invincible+213
2conankudo+149
3khuc_tuan+137
4tuananhnb93+129
5khanhptnk+108
6hphong+103
7flash_mt+99
8paulmcvn+71
9technolt+70
10hoangle+63

Topcoder Vietnam

HạngThành viênĐiểm
Diễn đàn
Forum
Trả lời: LQDFARM (1 đang xem) ,(1) Khách
Bài viết dưới cùng Gửi trả lời Được ưa thích: 0
CHỦ ĐỀ - Trả lời: LQDFARM
#46479
dhkhtn (Thành viên)
dhkhtn+2
Biết code binary-indexed tree
Bài viết: 49
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: LQDFARM 9 năm trước   (+0)
Sao đề bài không có giới hạn gì vậy? M<= ?,K<= ? ...
 
Đã lưu IP Đã lưu IP  
  Đã khóa chức năng gửi bài.
#46492
haplinhavxt (Thành viên)
hhiepit_k52+16
Nhắm mắt code không bug
Bài viết: 180
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: LQDFARM 9 năm trước   (+0)
dhkhtn viết:
QUOTE:
Sao đề bài không có giới hạn gì vậy? M<= ?,K<= ? ...

Có giới hạn đấy bạn (0≤Q≤150000, 3≤ Ni≤150, 2<= Ri<= 150)!
 
Đã lưu IP Đã lưu IP  
 
'+' cho em đi nào!
  Đã khóa chức năng gửi bài.
#54931
mr_pi (Thành viên)
mr_pi
Đang tập code
Bài viết: 4
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: LQDFARM 8 năm, 9 tháng trước   (+0)
haplinhavxt viết:
QUOTE:
Quicksort chưa là tốt nhất đâu bạn. Không gì là tuyệt đối mà. Và đã có thuật toán sắp xếp tốt hơn Qsort, hình như là thuật toán sắp xếp Flash Sort với độ phức tạp là O(n)! ;)


Flash Sort cũng chỉ bằng Insertion Sort thôi mà :-/
http://home.westman.wave.ca/~rhenry/sort/
 
Đã lưu IP Đã lưu IP  
  Đã khóa chức năng gửi bài.
#70551
darkzero (Thành viên)
Đang tập code
Bài viết: 1
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: LQDFARM 7 năm, 5 tháng trước   (+0)
mọi người ơi xem hộ bài em sai chỗ nào với
ý tưởng của em là tham lam sau cho q nhỏ bớt sau đó quy hoạch động cuối cùng tham lam tiếp ko biết sai chỗ nào
em xin cảm ơn
Code:
 
uses math;
var A,B: array [1..2000] of longint;
    F: array [1..4000] of boolean;
    L: array [0..2000,0..10000000] of longint;
    Q,M,K,H: longint;
procedure Nhapdl;
var i: longint;
begin
   read(Q,M,K);H:=M;
   for i:=1 to M do
   read(A[i]);
   for i:=1 to K do
   read(B[i]);
end;
procedure sort(l,r:longint);
var tg1,tg,i,j:longint;
   begin
      if l>=r then exit;
      tg:=a[(l+r) div 2];
      i:=l;j:=r;
      repeat
         while a[i]<tg do inc(i);
         while a[j]>tg do dec(j);
         if i<=j then
            begin
               tg1:=a[i];
               a[i]:=a[j];
               a[j]:=tg1;
               inc(i);
               dec(j);
            end;
      until i>j;
      sort(l,j);
      sort(i,r);
   end;
procedure   sort1(l,r:longint);
   var tg,tg1,i,j:longint;
   begin
      if l>=r then exit;
      i:=l; j:=r;
      tg:=b[(i+j) div 2];
      repeat
         while b[i]<tg do inc(i);
         while b[j]>tg do dec(j);
         if i<=j then
            begin
               tg1:=b[i];
               b[i]:=b[j];
               b[j]:=tg1;
               inc(i);
               dec(j);
            end;
      until i>j;
      sort1(l,j); sort1(i,r);
   end;
procedure Solve;
var i,j,tong,x,cs: longint;
begin
   sort(1,M);
   tong:=0;
   while q>a[M] do
   begin
      tong:=tong+a[M];
      q:=q-a[M];
      F[M]:=TRUE;
      dec(M);
   end;
   for i:=0 to M do
      for j:=0 to Q do L[i,j]:=0;
   for i:=1 to M do
      for j:=1 to q do
         if a[i]<=j then L[i,j]:=max(L[i-1,j],L[i-1,j-a[i]]+a[i])
         else L[i,j]:=L[i-1,j];
   x:=0;
   for j:=1 to q do
      if x<L[M,j] then
      begin
         x:=L[M,j];
         cs:=j;
      end;
   j:=cs;
   tong:=tong+x;
   for i:=M downto 1 do
   if L[i,j]<>L[i-1,j] then
   begin
      j:=j-a[i];
      F[i]:=TRUE;
      q:=q-a[i];
   end;
   i:=1;
   while (q>a[i]) do
      if F[i] then inc(i)
      else
         begin
            tong:=tong+a[i];
            q:=q-a[i];
            inc(i);
         end;
   if i<=H then tong:=tong+q-1
   else
   begin
      sort(1,K);i:=1;
      while q>b[i] do
      begin
         tong:=tong+b[i]-1;
         q:=q-b[i];
         inc(i);
      end;
      if i<=K then tong:=tong+q-1;
   end;
   writeln(tong);
end;
BEGIN
   nhapdl;
   Solve;
END.
 
Đã lưu IP Đã lưu IP  
  Đã khóa chức năng gửi bài.
Bài viết trên cùng Gửi trả lời
Powered by FireBoardBài viết mới nhất từ diễn đàn cho các chương trình nhận tin RSS