LeetCode Maximum Product Subarray
摘要:链接: https://oj.leetcode.com/problems/maximum-product-subarray/求最大连续序列的乘积因为偶数个负数相乘为正数,且任何数乘0等于0.所以在计算的过程中需要维护两个数组,一个记录到当前位的最大乘积,一个记录到当前位的最小乘积..并初始化为A[i...
阅读全文
LeetCode Minimum Path Sum
摘要:链接: https://oj.leetcode.com/problems/minimum-path-sum/简单的动态规划.[i][j]表示到达位置(i,j)时的最小sumpublic class Solution{ public int minPathSum(int[][] grid) { in...
阅读全文
LeetCode Unique Binary Search Trees
摘要:链接: https://oj.leetcode.com/problems/unique-binary-search-trees/dp[i]表示当n为i时的BST数量..递推关系如下图这样,就把n=4分割为n=3,n=1,n=2.用dp数组记录结果代码:class Solution{ public: ...
阅读全文
LeetCode Maximum Subarray
摘要:链接: https://oj.leetcode.com/problems/maximum-subarray/最大连续子序列 动态规划class Solution{ public: int maxSubArray(int A[],int n) { int dp[n+1]; int ans=...
阅读全文
LeetCode Word Break
摘要:链接: https://oj.leetcode.com/problems/word-break/dp[i] 表示s[0~i] 能否分割成dict中的单词class Solution{ public: bool wordBreak(string s,unordered_set &dict) { ...
阅读全文
NYOJ 18 The Triangle
摘要:链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=18从上向下遍历一遍.保存中间结果,.找出最后最大值即可#include #include #define MAX_N 105using namespace std;int dp[MAX_N][M...
阅读全文
NYOJ 613 免费馅饼
摘要:链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=613dp[i ][j ] :第i秒在位置 j 的最大接到馅饼的量从接完馅饼的最终位置开始判断,不断取最大的,倒推到起点。即得到最大值#include #include #include #def...
阅读全文
HDU 3466 Proud Merchants
摘要:链接:http://acm.hdu.edu.cn/showproblem.php?pid=3466本来以为就是一个普通的01背包.. 在购买商品时,条件不单单是拥有的钱大于商品的售价P,还要大于商品的另一个属性Q 。而且Q>=P..因为动态规划的后效性,要先按Qi-Pi排序,在按01背包做注意,so...
阅读全文
NYOJ 269 VF
摘要:链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=269求1~10^9间各位相加和为s的数的个数..dp[i][j]:::前i位和为j的数字的个数 #include using namespace std;int dp[11][90];void ...
阅读全文
NYOJ 456 邮票分你一半
摘要:链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=456价值与重量相等的01背包..背包的容量为邮票总和的一半#include #include#include#includeusing namespace std;int dp[500005];...
阅读全文
划分数问题 DP
摘要:《挑战程序设计竞赛》2.3.3:有n个无区别的物品,将他们划分成不超过m组,求出划分方法数模M的余数称做n的m划分,dp定义如下:dp[ i ] [ j ] =j的i划分的总数;考虑n的m划分ai (a1+a2+a3+...+am ==n) ,对于每个i都有ai>0,,So..{ai-1} 也就对应...
阅读全文
NYOJ 36 最长公共子序列
摘要:链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=36经典dp题:#include #includeusing namespace std;int dp[1005][1005];char a[1005];char b[1005];int main...
阅读全文
01背包 (大数据)
摘要:经典的01背包问题,如果把限制条件改为:重量#include#define INF 10000000using namespace std;int c[105],v[105];int dp[10005]; //dp[i],表示在价值i下的最小重量int main(){ ...
阅读全文
NYOJ 311 完全背包
摘要:链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=311这道题是完全背包的一个变型,,:求的是把背包装满的最优解.dp方程跟经典的一样:for(i=0; idp[j]) dp[j]=dp[j-c[i]]+w[i]; ...
阅读全文
NYOJ 16 矩形嵌套
摘要:链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=16最长单调子序列......注意可以不是连续的#include //#include#include#define max( a, b ) ((a>b)?(a):(b))using namesp...
阅读全文