%E6%9C%80%E6%96%B0YI%E6%9C%AC%E9%81%93%20313%20%E9%88%B4%E6%9C%A8Satomi~%E6%B2%92%E6%9C%89%E5%89%8D%E6%88%B2%E7%9A%84%E6%88%B0%E9%AC%A5~%E5%89%8D%E7%B7%A8

D Nudeactressworld Escorts En 1 Nude Actress World 【NOI2008】 志愿者招募 - datam - 博客园

D Nudeactressworld Escorts En 1 Nude Actress World

Nudeactressworld Nudeactressworld Nudeactressworld search Escorts Nudeactressworld search Nudeactressworld search Nudeactressworld Nudeactressworld Escorts exsearch. Nudeactressworld nsearch Nudeactressworld sc Escorts r Nudeactressworld s Escorts e Escorts sesearchr Escorts h Nudeactressworld rw Nudeactressworld wsearch6 Nudeactressworld .2 Nudeactressworld 09 Nudeactressworld .1 Nudeactressworld ssearchw Nudeactressworld rsearchdsearchsearchNsearchd Escorts a1tsearchesearchsw Escorts r Nudeactressworld dsearchesearchrsearchh Escorts u Nudeactressworld e Escorts c Escorts r Nudeactressworld swsearchr Escorts d Nudeactressworld %C3%CE%C7%E9%C8%CB%20qvod Escorts Nudeactressworld Nudeactressworld Nudeactressworld Escorts Escorts search 231-1

 

题解

 

解法1:搜索
 1 (*
 2  *Problem: NOI2008 自愿者招募
 3  *Author : Chen Yang
 4  *Time  : 2012.5.18
 5  *State : 30分
 6  *Memo : 搜索
 7 *)
 8 program employee;
 9 const maxn=2020;
10 type
11  ty=record
12  x,y,v:longint;
13  end;
14 
15 var
16  n,m,ans:longint;
17  g,now,cnt:array[0..maxn] of longint;
18  t:array[0..maxn] of ty;
19 //========================
20 procedure built;
21 var
22  i,j:longint;
23 begin
24  read(n,m);
25  for i:=1 to n do read(g[i]);
26  for i:=1 to m do
27  begin
28  read(t[i].x,t[i].y,t[i].v);
29 for j:=t[i].x to t[i].y do inc(cnt[j]);
30  end;
31 end;
32 //========================
33 procedure find(x,v:longint);
34 var
35  i,j,k,max:longint;
36 begin
37  if v>=ans then exit;
38  if x=m+1 then
39  begin
40 if ans>v then ans:=v;
41  exit;
42  end;
43  max:=0;
44  for j:=t[x].x to t[x].y do
45  begin
46  dec(cnt[j]);
47 if max<g[j] then max:=g[j];
48  end;
49  for i:=max downto 0 do
50  begin
51 for j:=t[x].x to t[x].y do
52 begin
53   inc(now[j],i);
54  if (cnt[j]=0)and(now[j]<g[j]) then
55  begin
56 for k:=t[x].x to j do dec(now[k],i);
57 for k:=t[x].x to t[x].y do inc(cnt[k]);
58  exit;
59  end;
60 end;
61 find(x+1,v+t[x].v*i);
62 for j:=t[x].x to t[x].y do dec(now[j],i);
63  end;
64  for j:=t[x].x to t[x].y do inc(cnt[j]);
65 end;
66 //========================
67 begin
68  assign(input,'employee.in'); reset(input);
69  assign(output,'employee.out'); rewrite(output);
70  built;
71  ans:=maxlongint;
72  find(1,0);
73  writeln(ans);
74  close(input); close(output);
75 end.

 

解法2:网络流
 1 
rD Nudeactressworld Escorts En 1 Nude Actress World 【NOI2008】 志愿者招募 - datam - 博客园l c 1337724383751_R Guest123.tk
cD Nudeactressworld Escorts En 1 Nude Actress World 【NOI2008】 志愿者招募 - datam - 博客园b r 1 1336833725015_R %B4%BA%C5%AF%BB%A8%BF%AA%20western%20%C5%B7%C3%C0%D7%AA%CC%FB