苹果描述ctest有n个苹果,要将它放入容量为v的背包。给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值。输入有多组测试数据,每组测试数据第一行为2个正整数,分别代表苹果的个数n和背包的容量v,n、v同时为0时结束测试,此时不输出。接下来的n行,每行2个正整数,用空格隔开,分别代表苹果...
分类:
移动开发 时间:
2014-05-23 09:00:10
阅读次数:
291
目录最大连续序列和不连续序列的最大和1.最大连续序列和是指所有连续子序列元素和最大的那个。#include#includeusing
namespace std;int main(){ freopen("in.txt","r",stdin); int n;
while(cin>>n) { int a...
分类:
其他好文 时间:
2014-05-22 11:49:54
阅读次数:
273
Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955
背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和…
把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概...
分类:
其他好文 时间:
2014-05-22 09:43:12
阅读次数:
282
大意:有5种面值的硬币,1、5、10、25、50分。给定找零总额,问有多少种组合方法。
分析:动态规划。int不会溢出。...
分类:
其他好文 时间:
2014-05-22 08:04:13
阅读次数:
239
算法训练 结点选择
时间限制:1.0s 内存限制:256.0MB
锦囊1
使用树型动态规划。
锦囊2
用F[i]表示从子树i中选择结点,且结点i必须被选择的最大值,用G[i]表示从子树i中选择结点,且结点i必须不被选择的最大值。
则F[i]=a[i]+\sum(G[j]),其中a[i]表示结点i的权值,j是i的子结...
分类:
其他好文 时间:
2014-05-22 07:28:26
阅读次数:
346
一个序列有N个数:A[1],A[2],A[3]……A[N],求最长非降子序列的长度。最重要的是要找出所谓的“状态”,本题目中是d[i],初始化最长长度为自己本身即一个单位长度。看是否要加入第i个元素,如果第i个元素a[i]比当前序列的最后一个元素a[j]大的话,那么加入,同时d[i]=d[j]+1;...
分类:
其他好文 时间:
2014-05-22 05:54:06
阅读次数:
228
动态规划我在学习算法的时候,就被动态规划搞得是一头雾水,这几日终于是弄明白是怎么回来。明白之后我才发觉我以前就碰到过一道ACM题,大意是这样的:有这样形式的一种排列:例如:
7 3 8 8 1 0 2 7 4 44 5 2 6 5从顶至下找一条路径,使得这条路径上的数字之和最大,而且每一步只能向左下...
分类:
其他好文 时间:
2014-05-22 05:30:06
阅读次数:
259
public class GameTree {
/**
* 判断剩余球数,谁能取到最后谁赢,
* ,一人取一次,默认我方先取,,能否必胜,能就返回true,否则false
* @param x剩余球数
* @return
*/
static boolean f(int x){
int[] op={1,3,7,8};//每次取球只能有四种情况
for(int i=0;i
if (...
分类:
其他好文 时间:
2014-05-20 14:09:29
阅读次数:
263