动态规划
齐豪
...
展开
-
石子合并问题
石子合并问题是最经典的DP问题。首先它有如下3种题型: (1)有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为新合成的一堆石子的数量。求将这N堆石子合并成一堆的总花费最小(或最大)。 分析:当然这种情况是最简单的情况,合并的是任意两堆,直接贪心即可,每次选择最小的两堆合并。本问题实际上就是哈夫曼的变形。转载 2017-03-14 12:21:32 · 405 阅读 · 0 评论 -
CCF_有趣的数
试题编号: 201312-4 试题名称: 有趣的数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。 3. 最高位数字不原创 2016-11-15 17:27:12 · 394 阅读 · 0 评论 -
分组背包
I love sneakers! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 721 Accepted Submission(s): 280 Problem Descripti原创 2017-01-26 18:53:42 · 228 阅读 · 0 评论 -
多重背包
Ahui Writes Word Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 908 Accepted Submission(s): 269 Problem Descripti原创 2017-01-26 17:29:34 · 209 阅读 · 0 评论 -
二维背包
Watch The Movie Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 691 Accepted Submission(s): 290 Problem Descriptio原创 2017-01-26 15:36:55 · 174 阅读 · 0 评论 -
放苹果
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 Input 第一行是测试数据的数目t(0 Output 对输入的每组数据M和N,用一行输出相应的K。 Sample Input 1 7 3 Sample Output 8 #include #include #includ原创 2017-01-18 20:17:11 · 403 阅读 · 0 评论 -
POJ 1080
#include #include #include #include using namespace std; int dp[105][105]; char str1[105]; char str2[105]; int N; int GetNum(char c) { switch(c) { case 'A':return 0; case 'C':ret转载 2016-09-16 16:49:25 · 244 阅读 · 0 评论