POJ2229 Sumsets 【递归】】的更多相关文章

Sumsets Time Limit: 2000MS   Memory Limit: 200000K Total Submissions: 13210   Accepted: 5300 Description Farmer John commanded his cows to search for different sets of numbers that sum to a given number. The cows use only numbers that are an integer…
Sumsets Time Limit: 2000MS   Memory Limit: 200000K Total Submissions: 19024   Accepted: 7431 Description Farmer John commanded his cows to search for different sets of numbers that sum to a given number. The cows use only numbers that are an integer…
http://poj.org/problem?id=2229 分析: 显然的递推 若n为奇数,那么肯定是在n-1的基础上前面每个数+1,即f[n]=f[n-1] 若n为偶数 当第一位数字是1的时候,等同于f[n-1] 当第一位数字不是1的时候,因为都是2的倍数,可以提出一个2来,即与f[n/2]相同 综上,n为偶数时候,f[n]=f[n-1]+f[n/2]…
题目大意 给定一个数N,问由不同的2的幂之和能组成N的方法有多少种 题解 看完题目立马想到完全背包...敲完代码上去超时了....后来发现是%的原因...改成减法就A了...%也太他妈耗时了吧!!!(还有一种O(n)的算法...) 代码: #include<stdio.h> #include<string.h> #define MOD 1000000000 #define MAXN 1000005 int dp[MAXN]; int main() { int n; scanf(&q…
http://poj.org/problem?id=2229 看到题目能感觉到多半是动态规划,但是没有清晰的思路. 打表找规律: #include<cstdio> #include<cmath> #include<iostream> #include<algorithm> #include<cstring> #include<vector> #include<map> #include<set> #define…
POJ3176 Cow Bowling 题意 输入一个n层的三角形,第i层有i个数,求从第1层到第n层的所有路线中,权值之和最大的路线. 规定:第i层的某个数只能连线走到第i+1层中与它位置相邻的两个数中的一个. 思路 最显而易见的是使用二维数组动态规划计算. 比如dp[i][j]表示以第i行j列的位置作为终点的路线的最大权值. (注意区分初始化时的意义) 那么dp[i][j]的最大值取决于dp[i-1][j-1]和dp[i-1][j],从这两者之间筛选出最大值,加到dp[i][j]上,即为dp…
我一直在纠结换零钱这一类型的题目,今天好好絮叨一下,可以说他是背包的应用,也可以说他是单纯的dp.暂且称他为dp吧. 先上一道模板题目. sdut2777: 小P的故事——神奇的换零钱 题目描述 已知A国经济很落后,他们只有1.2.3元三种面值的硬币,有一天小P要去A国旅行,想换一些零钱,小P很想知道将钱N兑换成硬币有很多种兑法,但是可惜的是他的数学竟然是体育老师教的,所以他不会啊...他只好求助于你,你可以帮他解决吗? 提示:输入数据大于32000组. 输入  每行只有一个正整数N,N小于32…
Sumsets 直接翻译了 Descriptions Farmer John 让奶牛们找一些数加起来等于一个给出的数N.但是奶牛们只会用2的整数幂.下面是凑出7的方式 1) 1+1+1+1+1+1+1 2) 1+1+1+1+1+2 3) 1+1+1+2+2 4) 1+1+1+4 5) 1+2+2+2 6) 1+2+4 帮助FJ找到 N的分配数 (1 <= N <= 1,000,000). Input N Output 排列方式总数.由于这个数可能很大,只需要保留最后9位 Sample Inpu…
方法.方法的重载.方法的重写.方法的递归 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值,返回类型写void. [访问修饰符] void  <方法名>(){ 方法主体: } 如果需要写返回值,返回类型写需要返回的类型: 例如返回string类型: [访问修饰符] string <方法名>(){ 方法主体: } 方法名:Pascal 每个单词的首字母都大些.其余字母小写 参…
目录 1 问题描述 2 解决方案  2.1 递归法 2.2 非递归法 1 问题描述 Simulate the movement of the Towers of Hanoi Puzzle; Bonus is possible for using animation. e.g. if n = 2 ; A→B ; A→C ; B→C; if n = 3; A→C ; A→B ; C→B ; A→C ; B→A ; B→C ; A→C; 翻译:模拟汉诺塔问题的移动规则:获得奖励的移动方法还是有可能的.…