随笔分类 - 动态规划
POJ ZOJ HDOJ
摘要:一:题意描述某个寝室有两个比较懒的同学,他们每天都叫外卖来维持生活。考虑到都不想下楼,他们便想出了一个比较好的方法,规则如下:每个人都有m张不同的牌,每张牌的面值都不同。现在进行n回合的游戏:每一次随机取出一张牌,并把该张牌的面值记录下来,然后把牌放回,如此重复n次,最后总值较小的人输,下楼取外卖。...
阅读全文
摘要:一:题目大意首先给定一个长宽为x,y的木板,现在需要把该木板分为N块。每次分割时,需要平行于所切割木板的长和宽,且需要切断。最后切割完成时需要所切割出的每个木板面积相等。现在需要求出最后y/x中和最小的一种方案。二:题目分析本题主要考查搜索技术和动态规划知识的运用。考虑到问题的特殊性,因为每次需要平...
阅读全文
摘要:一:问题描述本题题意大致是说:给出一棵多叉树,每个节点的任意两个子节点都有左右之分。从根节点开始,每次尽量往左边走。走不通了就回溯,把遇到的字母顺次记录下来,可以得到一个序列。现在给定一个序列,要求满足条件的多叉树的数目。二:题目分析我们可以分析对于这个序列而言一定是对称序列,那么对于序列S而言,我...
阅读全文
摘要:一:题意描述本题主要是讲给定n个火柴,用这n个火柴去拼数,问最后可以拼成多少种?二:问题分析我们需要找出状态:假设当我们把已经使用的火柴数i当做一个状态。当i=0时,我们从这个状态可以转化成状态2(数字1),3(数字7),4(数字4),5(数字2,3,5),6(数字6,9(数字0此时不行)),7(数...
阅读全文
摘要:一:题意描述本题就是求立方数之和。输入正整数n,求将n写成若干个正整数的立方和有多少种方法?二:问题分析本题主要的难点就是确定状态。我们可以建立多段图。节点(i,j)表示“使用不超过i的整数的立方,累加和为j“这个状态。设d(i,j)表示为从(0,0)到(i,j)的路径条数,最终答案是d(21,n)...
阅读全文
摘要:一 题意描述:就是在n支筷子里面选取k+8双筷子,每双筷子有三支,其中两支(A,B)比较小,第三支C比较大。下面我们要使k+8双筷子中(A-B)^2之和最小。应当怎样选取?二 思路分析:我们可以用:dp[i][j]表示从前j个筷子里面选取i双(先只取两只筷子组成一双)筷子时(A-B)^2的最小值。那...
阅读全文
摘要:The StaircasesTime Limit: 1.0 secondMemory Limit: 16 MBOne curious child has a set ofNlittle bricks (5 ≤N≤ 500). From these bricks he builds different...
阅读全文
摘要:一 题意描述:MonkeyandBananaTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3291AcceptedSubmission(s):1706ProblemD...
阅读全文
摘要:一 题意描述:有n(1=last[j]}三 源码展示: 1 #include 2 int dp[5010],sum[5010],last[5010]; 3 int main() 4 { 5 int n; 6 scanf("%d",&n); 7 memset(sum,0,si...
阅读全文
摘要:一 题意描述:给你N(1 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const int N = 10000 + 10; 8 const int K = 100 + 10; 9 bool f[N][...
阅读全文
摘要:一 题意描述:给定由n个要相乘的矩阵构成的序列(链)。由于矩阵满足结合律(加括号方式表示结合方式),不同的计算方式导致的求出最终计算结果的代价相异,有的花的时间很少,有的方式所花时间很多,那么下面的任务就是求出算出结果所需要的最少时间及一个最优解。二 思路分析:设p(n)表示一串n个矩阵可能的加全部...
阅读全文
摘要:1.原题展示:一根棒子上有n个环(n 2 #include 3 #include 4 #define size 3 5 #define mod 200907 6 struct Mat 7 { 8 long long num[size][size]; 9 };10 Mat init,r;//定义全局变...
阅读全文

浙公网安备 33010602011771号