动态规划
文章平均质量分 80
H1deonbush
这个作者很懒,什么都没留下…
展开
-
DAG模型 矩形嵌套
嵌套矩形问题 有n个矩形,每个矩形可以用两个整数a,b描述,表示它的长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中,当且仅当(a 你的任务是选择尽量多的矩形排成一行,使得除最后一个矩形外所有矩形都可以嵌套在下一个矩形内。 如果存在多解,矩形编号的字典序应尽量小。原创 2015-04-21 19:09:56 · 427 阅读 · 0 评论 -
硬币问题 DP 已知起始点的最长最短路径问题
题目描述 已知硬币总价值S 给你n种不同的硬币 面值分别为ai 求出组成总面值硬币个数的最小值以及最大值。 input 输入数据有多组 每组数据有硬币种数n,总价S和n种硬币面值 output 输出对应每组输入的硬币数目的最小值和最大值 sample_input 3 3 1 2 3 5原创 2015-04-26 20:32:27 · 400 阅读 · 0 评论 -
NEFU 1028 01背包
题目链接 http://acm.nefu.edu.cn/JudgeOnline/problemshow.php?problem_id=1028 01背包题目 状态转移方程 Max[j]=max(Max[j],Max[data[i].s-1]+data[i].val) 代码如下 #include #include #include #include using name原创 2015-04-29 14:59:42 · 545 阅读 · 0 评论 -
完全背包问题
题目描述 已知背包总空间s 对于所给的n种物品 每种物品所占空间 w[i] 价值 p[i] 每种物品有无限多个 求在不超过背包容量的前提下 背包所能容纳物品的最大价值或者最小价值 01背包与完全背包的代码上的区别就是 循环在每个物品时 背包体积 的时候的逆序与正序 即 for i=0->n 01背包 for j=s->w[i] 完全背包 for j=w[i]->s 完原创 2015-04-28 22:52:09 · 579 阅读 · 0 评论 -
01背包
一维01背包: #include #include #include using namespace std; struct ppp { int w; int v; }data[105]; int dp[1005]; int T,m; int OneZeroPack() { memset(dp,0,sizeof(dp)); for(int i=1;i<=m;原创 2015-04-27 20:48:56 · 643 阅读 · 0 评论 -
最长上升子序列 O(nlogn)
经典题目 最长上升子序列 题目描述 : INPUT : 输入一个整数n 表示接下来有 n 个数输入。 OUTPUT: 输出当前数列最长上升子序列的长度。 直接上代码 最长下降子序列 最长山峰序列都可以以该问题为母问题 进行延伸。原创 2015-04-17 23:04:53 · 411 阅读 · 0 评论