260 条题解
-
0fishseller LV 4 @ 2008-11-08 15:26:29
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms采用正推的dp,开了两个标记变量。
一个记第几个项目(1---|N),一个记用的时间(T---|1)。
二十分钟搞定,一次性ac。
原来让我无比头痛的背包,现在看了是如此的简单。进步了啊!
继续努力ing -
02008-11-04 17:56:31@
把t的范围看成100了,提交了3次,唉......
-
02008-11-03 17:17:30@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms#include
int f[1000][1010];
int love[1100];
int cost[1100];
int n,time;
int max(int a,int b){if(a > b)return a;else return b;}
void dp();
int main()
{
int i,j;
scanf("%d",&n);
scanf("%d",&time);for(i = 1; i = cost[i])
f[i][j]=max(f[j],f[j-cost[i]]+love[i]);
else
f[i][j] = f[j];
}
} -
02008-11-03 09:26:40@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
同采药哦
var w,t:array[1..100]of longint;
f:array[0..100,0..1000]of longint;
n,i,j,ts:longint;
begin
readln(n);readln(ts);
for i:=1 to n do readln(w[i],t[i]);
for i:=1 to n do
for j:=ts downto 1 do begin
f:=f;
if(j>=t[i])and(f -
02008-11-03 07:43:30@
01背包
天啊~~
水。。。。霍霍~~
vijos上允许用数学库哦~~~
真是很方便~拿这道题做了实验了~ -
02008-11-01 23:50:57@
无可否认,人品极低,数组开小....
-
02008-11-01 22:20:15@
问个问题,这道题和采药有区别吗?
不是抄袭吗?
水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水
水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水 -
02008-11-01 10:34:31@
var n,t,i,j,c,v:integer;
a:array[0..1000] of integer;
begin
readln(n);
readln(t);
for i:=1 to n do
begin
readln(c,v);
for j:=t downto v do begin
if (a[j-v]+c)>a[j] then
a[j]:=a[j-v]+c;
end;
end;
writeln(a[t]);
end. -
02008-10-28 09:05:11@
0/1背包~~第一次交完,发现F数组没开LONGINT,第二次交完,发现F的上限f[j] then f[j]:=f[j-c[i]]+l[i];
end;
write(f[t]);
end. -
02008-10-27 23:58:05@
囧死了.......
I,J弄混... -
02008-10-27 19:40:14@
各位大牛,麻烦帮我看看程序那儿错了,0分
#include
using namespace std;
int max(int x,int y)
{
if (x>y) return x;return y;
}
main()
{
int n,m,i,j;
cin>>n;cin>>m;
int t[n+1],l[n+1],v[n+1][m+1];
for (i=1;i>l[i]>>t[i];
for (i=1;i -
02008-10-27 18:22:46@
#include
using namespace std;
int s,m,i,j,t[100],v[100],dp[1000]={0};
int main(){
cin>>m>>s;
for(i=0;i>v[i]>>t[i];
for(i=0;i0;j--){
if(t[i]dp[j]) dp[j]=v[i]+dp[j-t[i]];
}
}
cout -
02008-10-26 17:50:23@
很囧的是 我把 时间 和 喜欢度 读反了
-
02008-10-21 12:52:57@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-10-20 21:02:35@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-10-20 19:18:11@
var n,t,i,j,c,v:integer;
f:array[0..1000] of integer;function max(a,b:integer):integer;
begin
if a>b then exit(a) else exit(b);
end;begin
readln(n);
readln(t);
for i:=1 to n do
begin
readln(c,v);
for j:=t downto v do
f[j]:=max(f[j],f[j-v]+c);
end;
writeln(f[t]);
end. -
02008-10-20 18:06:02@
var n,tim,i,j,try:integer;
maxx:longint;
a:array[0..101,1..2]of integer;
mx:array[0..1001]of longint;
begin
read(n,tim);
for i:=1 to n do read(a,a);
for i:=1 to n do
for j:=tim downto a do
if mx[j-a]+a>mx[j] then mx[j]:=mx[j-a]+a;
write(mx[tim]);
end. -
02008-10-20 17:33:39@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms背包,在手---|---|-哇哈哈哈哈哈哈哈
天下,我有---|---|-哇哈哈哈哈哈哈哈汗一下,嘿嘿
-
02008-10-15 20:35:18@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
var n,i,j,t:longint; time,f:array[0..1000] of longint;
c:array[0..100] of longint;
Begin
readln(n); readln(t);
for i:=1 to n do readln(c[i],time[i]);
for i:=1 to n do
for j:=t downto time[i] do
if f[j] -
02008-10-14 15:40:51@
var n,tim,i,j,try:integer;
maxx:longint;
a:array[0..101,1..2]of integer;
mx:array[0..1001]of longint;
begin
read(n,tim);
for i:=1 to n do read(a,a);
for i:=1 to n do
for j:=tim downto a do
if mx[j-a]+a>mx[j] then mx[j]:=mx[j-a]+a;
write(mx[tim]);
end.