摘要: 求$A_n^m$的划分数(%MOD)。有递推方程:$dp[i][j]=\sum_{k=0}^{j}dp[i-1][j-k]$,其中$dp[i][j]$为$j$的$i$划分总数。 求$C_n^m$的划分数(%MOD),有递推方程:$dp[i][j]=dp[i][j-1]+dp[i-1][j]$。代码如下: 1 int n, m; 2 int dp[MAX_M + 1][MAX_N + 1];... 阅读全文
posted @ 2019-08-26 22:35 romaLzhih 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 题意:有一个长为n的数列,求出这个序列中最长的上升子序列长度(不连续,不能等于)。 解法1:简单dp(n2)思路: 状态设计:F [ i ] 代表以 A [ i ] 结尾的 LIS 的长度 状态转移:F [ i ] = max { F [ j ] + 1 ,F [ i ] } (1 <= j < i 阅读全文
posted @ 2019-08-26 21:58 romaLzhih 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 空间优化: 例题:POJ2229题意:找一些2^x(0<=x),使它们的和为N。比如,N=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 (1 <= N <= 1,000,000). 解法: 阅读全文
posted @ 2019-08-26 21:29 romaLzhih 阅读(252) 评论(0) 推荐(0) 编辑
摘要: POJ2385 题意:有两棵树,初始时第一棵树会掉苹果,一头牛初时在第一颗树下,一共有T秒,牛最多走W步,给出树掉果子的序列,求牛该怎么走才能最大化收益 题解:递推方程dp[i][j]=max(dp[i-1][j],dp[i-1][j-1]),其中dp[i][j]表示第i秒还能走j步时能拿到的最大价 阅读全文
posted @ 2019-08-26 08:32 romaLzhih 阅读(213) 评论(0) 推荐(0) 编辑