DP
文章平均质量分 77
a363514083
这个作者很懒,什么都没留下…
展开
-
hdu1579简单的用dp优化递归
题目连接http://acm.hdu.edu.cn/showproblem.php?pid=1579#include#include#include#include#include#includeconst int inf = 0x3f3f3f;原创 2011-10-10 17:27:51 · 321 阅读 · 0 评论 -
DP激情奉献(三)hdu1506状图选最大矩形
//题目大意:给一个N,接下来N个数字..形成一个N格大的柱状图..answer问最大的矩形是什么//最开始想的是优化了直接的N^2的处理方法,对于每个a[i],分别找他的左右两边分别有多少个//比他要大的..只要遇见小的就break,优化在这儿..但是过不了.//2次优化.思路还是去求每个a[i]能够带来的矩形宽是多少..//那么,在这里..比如考虑a[i]的宽的时候..不必从i原创 2012-02-22 19:51:42 · 493 阅读 · 0 评论 -
DP激情奉献(五)hdu2571命运
//题目大意:给一个矩形,每个位置有一个分数.现在让从左上角到右下角.问能够得到的最大的分数和//走的方式可以是向右和向下.向下只能每次走一步..向右可以每次走一步或者走当前列数的整数倍//解题方式:这是一个典型的二维DP题目..每一个DP[i][j]的值均可以通过之前的几种可能的步伐而来.//每个DP都储存着,输出DP[n][m]即可.#include#include#i原创 2012-02-23 21:04:19 · 418 阅读 · 0 评论 -
DP激情奉献(四)hdu1505加强版1506
//本题是hdu1506的强化版本.题目大意是这样的:有一片土地.标记F为"空地",标记R为"已建造"//现在要在这个m*n的空间里面找到一个最大矩形...//处理方式:把每一行作为底行来可以形成一个状图,这样预处理以后就可以类似hdu1506那样的做..#include#include#include#include#include#include#inclu原创 2012-02-23 17:10:34 · 385 阅读 · 0 评论 -
HOJ12256临号不小于TDP
//题目连接:http://acm.hnu.cn/online/?action=problem&type=show&id=12256&courseid=0//题目大意:给定一个序列.问能够形成多少种序列,要求每个数-前一个数//解题思路:本题是一个DP题,自己考虑的时候就很多的去考虑前面的对后面的影响.//考虑多了..反而弄得很复杂..如果按照DP的无后效性来考虑的话..会变得很简单的原创 2012-02-27 18:09:13 · 359 阅读 · 0 评论 -
多重背包经典列题hdu2844coins
题目连接地址#include#include#include#include#include#include#includeusing namespace std;#define LL long longconst int mn = 1100100;int dp[mn];bool vis[mn];int value[1111],num[1111];void zer原创 2012-04-19 21:42:27 · 422 阅读 · 0 评论 -
多重背包经典列题hdu1171
题目连接#include#include#include#include#include#include#include#includeusing namespace std;const int mn = 5555555;int dp[mn],m,value[55],num[55],n;void compeletepack(int value , int sum){原创 2012-04-19 21:41:17 · 376 阅读 · 0 评论 -
信息学竞赛DP专题(一)BNU8207舞蹈家怀特先生
//题目大意: 初始时候怀特双脚都在0的位置.之后每次出现一个1-4中的一个数.1=UP.2=right.3=down.4=left.// 0到其他位置消耗2体力.其他时候.在原地跳消耗1体力..跳到相邻位置消耗3体力.跳到相对位置消耗4体力.// 给定一个跳舞的序列步伐.问最后消耗的体力最少是多少.//解题思路: 用DP[i][j][k] 表示在第i次的原创 2012-04-23 12:44:54 · 1192 阅读 · 0 评论 -
hdu2870子串长度子串最小数
//本题大意:给出一个含有w,x,y,z,a,b,c的矩阵.因为其中w,x,y,z可以转换为a或者b或者c.要求找一个子矩阵.里面全是// 相同的元素.输出这个最大值.//解题思路:这个题分为a,b,c来枚举以后就变成类似hdu1505,1506的类型.在一维上面来说.就是解决在一串数字(正数)// 中寻找一个最大的子串.子串的价值=子串长度*子串中最小的数.原创 2012-05-15 12:09:39 · 675 阅读 · 0 评论 -
hdu2830可变换位置的hdu2870变型
//题目大意:给定一个bool矩阵.可以交换任意两行的位置任意次.找到一个最大子矩阵.全部是1//解题思路:把bool图同样转换成一个个处理一行数的情形..由于可以任意交换col.// 那么对于col来说的话.其上所能形成的dp序列是不会变的.(dp[i]表示在一col中到第i个位置所能形成// 的连续1有几个)同时.因为col可以任意变换.所以最大的价值必定原创 2012-05-15 12:08:50 · 659 阅读 · 0 评论 -
ACM题目推荐--《算法艺术与信息学竞赛》
ACM题目推荐--《算法艺术与信息学竞赛》2008-09-04 12:21一.动态规划参考资料:刘汝佳《算法艺术与信息学竞赛》《算法导论》推荐题目:http://acm.pku.edu.cn/JudgeOnline/problem?id=1141 简单http://acm.pku.edu.cn/JudgeOnline/problem?id=2288 中等,经转载 2011-11-10 17:28:35 · 582 阅读 · 0 评论 -
DP激情奉献(二)hdu1864
//本题大意:有许多张发票..每张发票上面给出了申请报销的种类的价格..要求在不超过limit的情况下.//能够报销最多的钱..同时..对于每张发票..总额>1000时是无效的..单类价格总和>600时也是无效的..//这个题目中..对于可以选择的发票里面..组成一个背包.对于每一张发票..要么不选.要么选..//第一次自己做的时候..把浮点数转通过*100换成整型讲limit当成体积原创 2011-11-19 10:02:21 · 888 阅读 · 1 评论 -
DP激情奉献(一)hdu2955
//题目大意:抢劫犯计划有N个银行要抢劫..每个银行给出了可以抢劫的钱数.和抢劫他会被逮捕的概率..//最后一句话说的是被逮捕的概率是独立的..而不是简单的抢每个新银行的时候直接比较limited 概率..//对于一个银行,抢了就倒闭.不存在了..所以是一个明显的0,1背包.主要是这里的概率是浮点数..//如何去记录是本题解决的关键...//首先,概率之间不是简单的相加..而是应该原创 2011-11-18 21:59:42 · 424 阅读 · 0 评论 -
hdu1081求最大子矩阵
#include#include#include#include#include#includeconst int inf = 0x3f3f3f;using namespace std;int dp[110],n,a[110][110],sum[1原创 2011-10-10 17:25:35 · 267 阅读 · 0 评论 -
PKU DP专题
1037 A decorative fence1042 Gone Fishing1062 昂贵的聘礼1074 Parallel Expectations1093 Formatting Text1112 Team Them Up!1143 Number Ga转载 2011-10-05 19:54:02 · 536 阅读 · 0 评论 -
HDOJ1058固定质因子
#include#include#include#include#includeconst int inf = 0x3f3f3f;using namespace std;__int64 a[6000];int mutiply(__int64 a[]原创 2011-10-05 00:20:23 · 275 阅读 · 0 评论 -
最长上升子序列的N*logN算法
//题目连接http://acm.hnu.cn/online/?action=problem&type=show&id=10027&courseid=0//思路:在第二层for循环里面采用二分查找的办法来记录当前状态值...//所以主要就是如何去构造使之能够使用二分查原创 2011-10-05 19:37:28 · 309 阅读 · 0 评论 -
HDOJ1025隐藏着的LIS
//题目连接http://acm.hdu.edu.cn/showproblem.php?pid=1025//这里题目要特别注意了,会做LIS的,但是如何想到这个题目就是LIS很重要.//这是需要在ACM的过程中培养的一种很重要的能力.举一反三...能够很快归类.//如原创 2011-10-05 21:58:17 · 446 阅读 · 0 评论 -
HDOJ1864背包问题.
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2602#include#include#include#include#includeconst int inf = 0x3f3f3f;using na原创 2011-10-06 01:22:41 · 631 阅读 · 0 评论 -
动态规划的状态表示分析
动态规划的状态表示(一)中国科技大学计算机系----黄浩达一、引言 问题求解技术,包括两个方面的内容:表示和搜索。在这两个方面的内容中,搜索是重点,表示是基础。不同的状态表示对搜索的效率会产生极大的影响。一个粗糙的状态表示可能使得搜索时要对状态变换进行更转载 2011-10-16 19:59:04 · 647 阅读 · 0 评论 -
hdu1176数轴上的免费馅饼
//同样是一个DP的简单入门的题目..想了很久..不过想出来了的感觉真的很好...//之于状态..最开始一直去想..存在的状态.就只有时间啊..就是第i秒的最优值..//后来发现..如果这样去考虑的话..并不满足最优子结构原理..即我的最有策略中.第i次不一定是最有的.原创 2011-10-17 19:13:17 · 254 阅读 · 0 评论 -
DP入门篇
关于动态规划(入门篇) 作者:焦祺 09-02-26 题转载 2011-10-09 13:47:35 · 537 阅读 · 0 评论 -
hdu动态规划(46道题目)倾情奉献
转载之前先Orz一下: [s:19]Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(转载 2011-10-25 18:11:06 · 506 阅读 · 0 评论 -
hdu1421n中选k个不相邻数的最小值
//题目大意:有n个物品.每个物品有重量.一个人需要搬动k次物品.每次用两只手搬动.消耗疲劳值为左右手重量差的平方.// 求消耗疲劳的最小值//解题思路:自己做的时候把n个物品转换成n-1个物品.转换通过把n个物品排序.依次相减平方.那么所选的k个值// 必定是从这n-1个中选出来的..同时要求k个值没有任意两个是相邻的.// dp转移方程为原创 2012-05-16 11:25:42 · 2798 阅读 · 0 评论