摘要: 有的题目要求“恰好装满背包”时的最优解,有的题目则并没有要求必须把背包装满。一种区别这两种问法的实现方法是在初始化的时候有所不同。 如果是第一种问法,要求恰好装满背包,那么在初始化时除了f[0]为0其它f[1..V]均设为-∞,这样就可以保证最终得到的f[N]是一种恰好装满背包的最优解。 如果并没有... 阅读全文
posted @ 2012-05-28 22:47 加拿大小哥哥 阅读(362) 评论(0) 推荐(0)
摘要: #include<stdio.h>#include<stdlib.h>int c[4];void fun(int num,int c[]){ int i=0; while(num>0)/*不能有等号,否则死循环*/ { c[i++]=num%10; num/=10; }}int cmp(const void *a,const void *b){ return *(int *)a-*(int *)b;}int main(){ int T,num,a,b,count,ans;int i; scanf("%d",&T); while(T--) 阅读全文
posted @ 2012-05-28 13:41 加拿大小哥哥 阅读(316) 评论(0) 推荐(0)
摘要: 小猴子下落时间限制:3000 ms | 内存限制:65535 KB难度:3描述有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关关闭,小猴子往左走,否则往右走,直到走到叶子结点。一些小猴子从结点1处开始往下跑,最后一个小猴儿会跑到哪里呢?输入输入二叉树叶子的深度D,和小猴子数目I,假设I不超过整棵树的叶子个数,D< 阅读全文
posted @ 2012-05-28 12:37 加拿大小哥哥 阅读(253) 评论(0) 推荐(0)