百练 2755 神奇的口袋(动态规划)

5人阅读 评论(0) 收藏 举报
分类:

请点开我,我是题目哦!


递归解法:

#include<iostream>
using namespace std;
int a[25]={0},n;
int Way(int w,int k);

int main(){
	int i,j;
	scanf("%d",&n);
	for(i = 1; i <= n; i++)
		scanf("%d",&a[i]);
	printf("%d\n",Way(40,n));
	return 0;
}

int Way(int w,int k){//从前k种物品中选择一些,凑成体积 w的做法数目。 
	int i,j;
	if(w == 0)  return 1;
	if(k <= 0)	return 0;
	return Way(w,k-1) + Way(w-a[k],k-1);
}

递推解法:

#include<iostream>
using namespace std;
int n,a[30];
int Way[40][30];//Ways[i][j]表示从前j种物品里凑出体积i的方法数
int main(){
	scanf("%d",&n);
//	memset(Way,0,sizeof(Way));
	for(int i = 1; i <= n; i++){
		scanf("%d",&a[i]);
		Way[0][i] = 1;//边界条件 
	}
	Way[0][0] = 1;//边界条件
	for(int w = 1; w <= 40; w++)
		for(int k = 1; k <= n; k++){
			Way[w][k] = Way[w][k-1];
			if(w - a[k] >= 0)
			Way[w][k] += Way[w-a[k]][k-1];
		}	
	printf("%d\n",Way[40][n]);
	return 0;
}


查看评论

什么才是提高ASP性能的最佳选择(五)

(作者:青苹果工作室编译 2000年11月13日 13:45)当使用一个记录集时,是否应该创建一个单独的Connection对象?   要想正确回答这个问题,需要在两个不同情况下检验测试结果:第一是每...
  • ghj1976
  • ghj1976
  • 2000-11-30 11:43:00
  • 1321

百练2755 神奇的口袋 【深搜】or【动规】or【普通递归】or【递推】

总Time Limit:  10000ms  Memory Limit:  65536kB 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是...
  • u012846486
  • u012846486
  • 2014-07-19 18:39:50
  • 1219

神奇的口袋(百练2755)

描述 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择...
  • ruruozhenhao
  • ruruozhenhao
  • 2017-08-16 15:50:57
  • 138

北大培训课动态规划----神奇的口袋(百练2755)

北京大学暑期课《ACM/ICPC竞赛训练》 ppt摘取 什么是动态规划? ●递归到动规的一般转化方法  递归函数有n个参数,就定义一个n维的数组,数组 的下标是递归函数参数的取值范围,数...
  • Lin_disguiser
  • Lin_disguiser
  • 2016-02-05 15:41:06
  • 1515

[OpenJ_Bailian](2755)神奇的口袋 ---- 递归/动态规划

描述 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一...
  • m0_37624640
  • m0_37624640
  • 2017-12-09 17:01:34
  • 61

【北大夏令营笔记-动态规划】百练2755:神奇的口袋

2755:神奇的口袋 查看 提交 统计 提示 提问 总时间限制: 10000ms 内存限制: 65536kB 描述 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体...
  • u013517797
  • u013517797
  • 2014-07-19 20:01:14
  • 1353

poj 2755 神奇的口袋(dp)

poj 2755 神奇的口袋(dp)
  • PKU_ZZY
  • PKU_ZZY
  • 2016-05-25 08:57:07
  • 720

Poj 2755:神奇的口袋

总时间限制: 10000ms 内存限制: 65536kB 描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个...
  • qq_34125999
  • qq_34125999
  • 2016-05-19 21:34:02
  • 734

动态规划求解

参考博客 动态规划讲解: 教你彻底学会动态规划——入门篇 教你彻底学会动态规划——进阶篇以下为对上面大神内容的总结动规的三种形式1)记忆递归型优点:只经过有用的状态,没有浪费。递推型会查看一些 ...
  • MosBest
  • MosBest
  • 2017-03-23 13:53:50
  • 306

OpenJudge_P1761 神奇的口袋(2)

总时间限制: 1000ms 内存限制: 65536kB 描述 有一个神奇的口袋,总的容积是400,用这个口袋可以变出一些物品,这些物品的总体积必须是400。John现在有n个想要得到的物品,每个物...
  • qq_18455665
  • qq_18455665
  • 2015-12-07 19:53:58
  • 479
    个人资料
    持之以恒
    等级:
    访问量: 15万+
    积分: 4849
    排名: 7388
    最新评论