摘要: 01背包 n代表物品种数,c[]代表花费,val[]代表价值 num[]代表 数量for(i=1;i<=n;i++){ for(j=v;j>=c[i];j--) dp[j]=max(dp[j],dp[j-c[i]]+val[i]);}多重背包 for(i=1;i<=m;i++) { for(j=1;j<=num[i];j++) { for(k=n;k>=w[i];k--) dp[k]=max(dp[k],dp[k-w[i]]+val[i]); ... 阅读全文
posted @ 2012-03-21 17:44 Szz 阅读(168) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2191#include<stdio.h>#include<iostream>#include<string.h>using namespace std;const int N=1000;int w[N],val[N],dp[N],num[N];int main(){ int c,n,m,i,j,k; scanf("%d",&c); while(c--) { scanf("%d%d",&n,&m); for(i= 阅读全文
posted @ 2012-03-21 17:26 Szz 阅读(237) 评论(0) 推荐(0)
摘要: 我能把整个世界都抽象成对象... 但是没办法把你变成我的对象... 想让你成为私有常量,外部函数无法访问你… 又想让你变成全局常量,在整个生命周期随时随地都可以调用你… 因为世界上没有这样的常量... 所以我的无法定义你... 我可以重载甚至覆盖任何一种方法... 但是我却不能重载对你的思念... 也许命中注定了 你在我的世界里永远的烙上了静态的属性... 而我不慎调用了爱你这个方法... 当我义无返顾的把自己作为参数传进这个方法时... 我才发现方法"爱你"里面执行是一个死循环... 她不停的返回对你的思念存入我心里的堆栈... 在这... 阅读全文
posted @ 2012-03-21 16:59 Szz 阅读(251) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1114#include<stdio.h>#include<iostream>using namespace std;const int N=15000;#define inf 999999int val[N],c[N],dp[N];int main(){ int t,e,f,i,j,n; scanf("%d",&t); while(t--) { scanf("%d%d",&e,&f); int v=f-e; scanf(& 阅读全文
posted @ 2012-03-21 16:49 Szz 阅读(146) 评论(0) 推荐(0)
摘要: 快速幂取模 (2012-01-02 21:37:56)转载▼快速幂取模快速幂取模就是在O(logn)内求出a^n mod b的值。算法的原理是ab mod c=(a mod c)(b mod c)mod c因此很容易设计出一个基于二分的递归算法。以下是我的代码,以下代码必须保证输入的是合法的表达式,比如不能出现0^0 mod b:longexp_mod(longa,longn,longb){longt;if(n==0)return1%b;if(n==1)returna%b;t=exp_mod(a,n/2,b);t=t*t%b;if((n&1)==1) t=t*a%b;returnt;} 阅读全文
posted @ 2012-03-21 09:37 Szz 阅读(228) 评论(0) 推荐(0)
摘要: 背包九讲 http://love-oriented.com/pack/初始化的细节问题我们看到的求最优解的背包问题题目中,事实上有两种不太相同的问法。有的题目要求“恰好装满背包”时的最优解,有的题目则并没有要求必须把背包装满。一种区别这两种问法的实现方法是在初始化的时候有所不同。如果是第一种问法,要求恰好装满背包,那么在初始化时除了f[0]为0其它f[1..V]均设为-∞,这样就可以保证最终得到的f[N]是一种恰好装满背包的最优解。如果并没有要求必须把背包装满,而是只希望价格尽量大,初始化时应该将f[0..V]全部设为0。为什么呢?可以这样理解:初始化的f数组事实上就是在没有任何物品可以放入背 阅读全文
posted @ 2012-03-21 09:30 Szz 阅读(261) 评论(0) 推荐(1)
摘要: 1 #include<stdio.h> 2 #include<iostream> 3 using namespace std; 4 string str[]={"00", "02","04","06","30","32","34","36","40","42" 5 ,"44","46","50","52& 阅读全文
posted @ 2012-03-21 08:52 Szz 阅读(206) 评论(0) 推荐(0)