摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1028以为是个很简单的递推可是退了三页信纸都没推出来,最后还是看了人家的结题报告,好高深啊。。不好推;这里粘一下人家的吧,感觉很好:在正整数n的所有不同划分中,将最大加数n1不大于m的划分个数记为q(n,m)。可以建立q(n,m)的如下递归关系:<1>q(n,m) = 1, n >= 1当最大加数n1不大于1时,任何正整数n只有一种划分形式,n = 1 + 1 + 1 +...+ 1<2>q(n,m) = q(n,n), m >= n最大加数n1实际上不能大于n<3& 阅读全文
posted @ 2011-11-23 23:49
E_star
阅读(248)
评论(0)
推荐(0)
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1598才开始是我看着没什么思路,心想就用dfs暴搜试试吧(本人太爱dfs了)。结果加了各种剪枝都都是TLE无语。。最后听von说用并查集,给我讲了讲才明白,不过开始的时候把边的最大值开成点的最大值了贡献了4次wa才检查出来。。无语了,自己太马虎了。。思路:先将各个边按限速排序,然后从最大的开始里循环用并查集建树,直到起点与终点的父亲相同说明此事s与e已经建立联系,然后用开始循环的节点的速度(该路线上的最大速速)减去最后将s,e连接的边的速度就是该路径上的Vmax-Vmin的最小了。。#include < 阅读全文
posted @ 2011-11-23 23:43
E_star
阅读(291)
评论(0)
推荐(0)
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1097快速幂取模我理解就是将其幂不断的二分后往前推得过程,奇数的时候先分出一个来变成偶数。。。杭电怎么不认识long long了??改成__int64就对了。。#include <iostream>#include <cstdio>using namespace std;__int64 result(__int64 a,__int64 b,int m){ long long d,t; d=1; t=a; while (b>0) { if (b%2==1) ... 阅读全文
posted @ 2011-11-23 09:34
E_star
阅读(252)
评论(0)
推荐(0)
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=2570我真是二啊本来一道挺简单的贪心我愣是想用01背包做,做吧可是还没做出来,不知道哪位用01背包做的可以给我讲讲。从小到大排序知道出现大于w的跳出。。哎写的时候各种错误。。粗心啊。。#include <cstdio>#include <cstdlib>#include <cstring>int cmp(const void*a,const void *b){ return *(int*)a-*(int*)b;}int main(){ //freopen("d.t 阅读全文
posted @ 2011-11-23 09:29
E_star
阅读(268)
评论(0)
推荐(0)


浙公网安备 33010602011771号