摘要: 题目链接第一次做的时候竟然递归了,而且没有记忆化,这不是犯2吗。。。记忆化依旧TLE了之后,上递推,水过了。 1 #include <stdio.h> 2 #include <string.h> 3 #define N -10000000 4 int dp[21][21][21]; 5 int main() 6 { 7 int a,b,c,i,j,k; 8 for(i = 0;i <= 20;i ++) 9 {10 for(j = 0;j <= 20;j ++)11 {12 dp[0][i][j] = 1;13 ... 阅读全文
posted @ 2012-10-05 14:30 Naix_x 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题目链接知道了用这种方法做,想了会,没整出来,翻翻书,看到一个类似的。组合数学17页有个类似的例题,证明一定有解。大体过程,用sum[i],表示前i个的和对n取余,共有n个元素,这n个数里,如果存在0,很明显这是答案,如果不存在,则至少有两个数相同,sum[j]-sum[k] = 0,则这一段的和就是所求解的答案。难得1Y啊。。 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <map> 5 using namespace std; 6 int sum[ 阅读全文
posted @ 2012-10-05 11:20 Naix_x 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 题目链接以前暑假一次练习赛的题目,当时如此的水题,很茫然啊,现在大体明白求期望都是倒着推的以后,这个题就很简单了。这个题直接算就可以,每一个状态都只能是从上一个状态推出来的,利用组合计算出概率,取倒数就是期望,因为精度WA了一次,好久没有1Y过了。。。 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <map> 5 using namespace std; 6 #define eps 1e-9 7 #define ll __int64 8 int mai 阅读全文
posted @ 2012-10-05 10:30 Naix_x 阅读(176) 评论(0) 推荐(0) 编辑