65 条题解
-
0how LV 10 @ 2009-07-28 19:33:07
第一次...
编译通过...
├ 测试数据 01:运行时错误...| 错误号: 216 | 存取非法
├ 测试数据 02:运行时错误...| 错误号: 216 | 存取非法
├ 测试数据 03:运行时错误...| 错误号: 216 | 存取非法
├ 测试数据 04:运行时错误...| 错误号: 216 | 存取非法
├ 测试数据 05:运行时错误...| 错误号: 216 | 存取非法
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:0 有效耗时:0ms
....n -
02009-07-02 17:46:58@
记忆化搜索好慢
编译通过...
├ 测试数据 01:答案正确... 56ms
├ 测试数据 02:答案正确... 56ms
├ 测试数据 03:答案正确... 40ms
├ 测试数据 04:答案正确... 56ms
├ 测试数据 05:答案正确... 40ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:248ms -
02009-06-15 13:34:49@
设f为第i到j个数取得的最大值,那么对手每次也一定会选取最优,因此可以得到状态转移方程为
f:=max{sum-f+w[i],sum-f+w[j]}
再化简一下
f:=max{sum-f,sum-f}这样就很明了了
( 2007-4-6 2:40:23 ) -
02009-05-30 16:21:44@
d表示从i开始后j个数字的和
f表示从i开始后j个数字,先取的人能取得的最大的和。for k:=2 to n do
for i:=1 to n+1-k do
begin
d:=d+a[i];
if d-f+a>d-f+a[i] then
f:=d-f+a
else f:=d-f+a[i];
end; -
02009-05-10 20:17:21@
秒杀!
o(n2) -
02009-04-23 00:22:27@
├ 测试数据 01:运行超时...
├ 测试数据 02:运行超时...
├ 测试数据 03:运行超时...
├ 测试数据 04:运行超时...
├ 测试数据 05:运行超时...
为什么会这样???能说明没理解错题意吗 -
02009-04-06 13:48:26@
似乎要用Qword,先看奇数位数大还是偶数位数大,决定取哪里,然后加起来就行了。
-
02009-02-01 18:52:16@
f:=sum-min(f,f)
一句解决问题
先后的意思就是
先的话输出F[1,N];后的话输出SUM[1,N]-F[1,N];
根本无需用双进程DP -
02009-01-19 08:48:25@
汗..贪心也过得
太弱了吧 -
02008-11-05 17:03:35@
受jsydtc大牛的
g1:=max(a[i]+g2,a[j]+g2)
g2:=min(g1,g1);
启发利用函数超前调用(可以使函数循环调用)+记忆化搜索编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 9ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 9ms
├ 测试数据 05:答案正确... 0ms虽然没全零。。。但是还是可以的。。。。
-
02008-10-28 22:35:18@
easy dp
经ra224大牛提示
秃然发现和上午做的关路灯那么像 -
02008-10-17 10:05:02@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msDragon评测
这道题的循环正确是应该是这样
for L:=1 to n do
for i:=1 to n-L+1 do
可是我写成
for l:=1 to n do
for i:=1 to l-i+1 do
于是乎我付出了两个百分点的代价
囧 -
02008-09-29 16:11:03@
编译通过...
├ 测试数据 01:答案正确... 9ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 9ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:18ms一行一行读是会挂的,各位注意啊
-
02008-09-19 14:51:01@
不错的题目,两个人都作出最优解。本质是动规,不过中间状态有些变化。
写了两个互相调用的函数g1,g2。g1表示先选的人做出的最优决策,g2表示后选的人做出的最优决策,因此
g1:=max(a[i]+g2,a[j]+g2)
g2:=min(g1,g1);
很可惜pascal不像c++,使用前必须先定义,因此得改成非递归。分个奇偶讨论。每步的决策就出来了。bs楼下的楼下的楼下,不认真看题还怪题不好。要是求取得数的个数这题还用做吗?
-
02008-09-18 09:08:48@
题目倒还算是简单....
看错先手后手的读入位置 让我WA了一次........
-
02008-09-11 19:47:16@
样例...我无语...
-
02008-09-06 18:38:31@
它要输出的到底是 能取到的数的个数,还是取到的数的总和?
BS不写清楚的垃圾题!!! -
02008-08-29 14:59:09@
贪心只能必胜 但不能保证最优
还是dp好 ……
-
02007-11-12 21:15:22@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02007-11-10 10:56:13@
USACO 3.3.4 A Game