9 条题解
-
0sxczf1999 LV 8 @ 2013-11-05 19:21:55
第3个点错什么情况?
-
02013-04-05 14:47:30@
题目要求说写题目可以按照任意顺序来写,这个必须注意!!!
不明白的朋友可以看看这个数据:
3 0 10
11 1 0
如果按照顺序来写作业,那么乱写第一个,认真写第二个,第三个认真写(随意写也无所谓),那么得到的怒气值就是-10。假如先写第二个作业,怒气值为-1,接着认真写第一个作业,那么怒气值变为10,所以最大怒气值得出的是10。
解决这个问题的方法就是按照作业的难度排序(从小到大),接着进行DP。 -
02012-11-21 17:17:16@
居然不是沙发
-
02012-11-07 15:44:23@
装箱问题的变形
f表示1到i这i道题有没有可能构成j的怒气值
方程为
f = f or f最后找答案的时候从maxanger向下逐个找 找到第一个f[n,i]=true就可以输出 找到0还没有就是Happy
直接可以裸过
90分错第一个点的 检查一下你Happy的拼写 注意首字母要大写 -
02012-11-07 14:25:09@
要判上一道题的怒气是不是大于maxanger啊。
判了反而错了 不判才能AC。
第三个点的数据怎么回事。 -
02012-10-28 20:50:03@
不影响 我的失误 向各位抱歉 打字时没有注意
-
02012-10-28 12:06:44@
影响解题么?
标准算法是不是背包 -
02012-10-27 18:24:59@
题目有不少字打错了.
-
-22013-11-05 19:23:11@
var
f:array[0..100,-2000..2000]of boolean;
a:array[1..1000]of longint;
b,c,d,e,g,h,i,j,k,l,m,n:longint;
begin
read(n,k,m);
for i:=1 to n do read(a[i]);
f[0,k]:=true;for i:=1 to n do
for j:=-m to m do
if f[i-1,j]then
begin
if j+a[i]<=m then f[i,j+a[i]]:=true;
if j-a[i]>=-m then f[i,j-a[i]]:=true;
end;
for i:=m downto 0 do
if f[n,i]then break;
if i>0 then writeln(i) else writeln('Happy');
end.
- 1