117 条题解
-
0suntian LV 10 @ 2009-04-24 17:02:37
第6组是CHEAT过的...
为什么我的答案是1001 标准是1019?
郁闷. -
02009-04-16 19:40:44@
第二个点究竟怎么回事 。。。。。有是输出8019的吗???我的程序都改了N个版本了。。。。。
原来是读入错误 。。。。。。。
-
02009-04-02 13:34:02@
AC0ms,
树形DP,O(n),
但不需要像楼下那么麻烦
要知道我代码风格这么长的人也才不到60行(pascal)这题难度应该改成2或1,太基础了。
-
02009-03-29 13:47:54@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
第611! -
02009-03-03 00:25:06@
#include
using namespace std;#define MAX_INT 2000000000
#define PR(A) cout -
02009-02-04 15:27:45@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
---|---|---|---|---|---|---|---|- -
02009-01-11 11:15:29@
果然是难度3的题,3种状态阿
-
02008-12-31 20:50:09@
一个小细节打错,浪费两个钟头..
most=min{f[son,1]-f[son,2]}
打成了
most=min{f[son,2]-f[son,1]}
样例不但对,还过了3个点
我无语了..
差点头皮抓破
中途去下了4盘军旗,玩了两局真3,终于发现问题. -
02008-11-13 08:59:54@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:运行时错误...| 错误号: 216 | 存取非法
├ 测试数据 05:运行时错误...| 错误号: 216 | 存取非法
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
请问这是啥原因啊,咋会是216啊 -
02008-11-12 22:28:08@
这不俨然就是WJD用贪心讲的那道火力控制网??
用TreeDP AC鄙视之 -
02009-11-02 12:37:48@
我又忘了这题的状态设计..回来看看- -
-
02008-11-10 20:26:22@
指针写法(核心代码):
procedure dp(i:longint);
var
j,k,sum,total:longint;
min:int64;
p:link;
begin
p:=son[i]; sum:=0; total:=0;
f:=w[i];f:=0;f:=0;
while pnil do
begin
j:=p^.s;
dp(j);
f:=f+minof2(minof2(f[j,1],f[j,2]),f[j,3]);
f:=f+minof2(f[j,1],f[j,2]);
f:=f+f[j,2];
if f>maxlongint then f:=maxlongint;
if f[j,2]=minof2(f[j,1],f[j,2]) then
inc(sum);
inc(total);
p:=p^.next;
end;
p:=son[i];
if (sum=total) and (pnil) then
begin
min:=maxlongint;
while pnil do
begin
j:=p^.s;
if f[j,1]-f[j,2] -
02008-11-06 08:30:52@
writeln(min2(dfs(root,1),dfs(root,2)));
-
02008-11-05 09:40:56@
program v1144;
type treetype=record
num:integer;
son:array[1..1500]of integer;
end;
var f:array[1..1500,1..3]of int64;
tree:array[1..1500]of treetype;
w:array[1..1500]of longint;
r:array[1..1500]of boolean;
n,x,i,j,k,root:integer;
function min(a,b:longint):longint;
begin
min:=a;
if min>b then min:=b;
end;
procedure work(i:integer);
var j,sum:integer;
mm:int64;
begin
f:=w[i];f:=0;f:=0;sum:=0;
for j:=1 to tree[i].num do begin
work(tree[i].son[j]);
f:=f+
min(min(f[tree[i].son[j],1],f[tree[i].son[j],2]),f[tree[i].son[j],3]);
f:=f+f[tree[i].son[j],2];
if f>maxlongint then f:=maxlongint;{注意此处,不要越界!!!}
f:=f+min(f[tree[i].son[j],2],f[tree[i].son[j],1]);
if f[tree[i].son[j],2]=min(f[tree[i].son[j],2],f[tree[i].son[j],1])
then inc(sum);
end;
if (sum=tree[i].num)and(tree[i].num>0) then begin
mm:=maxlongint;
for j:=1 to tree[i].num do
if f[tree[i].son[j],1]-f[tree[i].son[j],2] -
02008-11-03 13:18:51@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
---|---|---|---|---|---|---|---|-Accepted 有效得分:100 有效耗时:0ms
一次AC,。。用F,按楼下说法 很快哦~~~
60多行代码,爽))) -
02008-10-31 18:44:46@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0mshttp://hi.baidu.com/pjww/blog/item/e6fb1f2d9ccb7c37359bf7e3.html
我是在了这个博客以后才知道的方法的(不是我的博客) -
02008-10-30 19:53:27@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-10-22 19:31:58@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案错误... ├ 标准行输出1019
├ 错误行输出 1001
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:86 有效耗时:0ms
怎么回事 -
02008-10-21 23:20:08@
提交了N次...把0作为初值发生了冲突..郁闷..
55行的时间效率O(N)的动规解决。。
-
02008-10-19 22:06:28@
知道是树形动归了,但就是不能AC
尴尬啊。。