
DP
文章平均质量分 76
ooooooooe
这个作者很懒,什么都没留下…
展开
-
HDU 1864 最大报销额
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1864刚开始题意理解错了,没看明白题里单项物品是什么意思,还脑抽的用dfs写了一下,结果T掉了。其实就是01背包问题。英语题读错尚且能找理由,汉语题读错就太逗了。浮点型保留两位小数直接把数据乘100就能处理了。#include#include#include#include#incl原创 2013-11-18 11:07:48 · 681 阅读 · 0 评论 -
UvaLive 6661 Equal Sum Sets 二进制枚举/DP
链接:http://vjudge.net/problem/viewProblem.action?id=49406题意:根据给出的n,k,s求出n个数每个数都不大于k,和为s的序列(n个数每个都不同)的总情况数。思路:1.二进制枚举枚举出所有可能排列,并求和若和为s,则符合,否则不符合。代码:#include#include#include#include#include原创 2014-07-19 14:33:04 · 1477 阅读 · 0 评论 -
HDU 3001 Travelling 状压DP
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3001题意:还是环游地图的问题,只不过这回旅行者对自己有着严格的要求,地图上每个点的经过次数不能超过两次。思路:依然是状压DP问题,根上一道很像,只不过这次对于每个点来说有三种状态,分别是未经过,经过一次,经过两次。所以要用三进制的数来进行状态压缩,这个关键点想明白了其他的和上一道基本一样了。对于我原创 2014-08-25 21:48:52 · 882 阅读 · 0 评论 -
POJ 3311 Hie with the Pie floyd+状压DP
链接:http://poj.org/problem?id=3311题意:有N个地点和一个出发点(N思路:首先用floyd找到所有点之间的最短路。然后用状态压缩,dp数组一定是二维的,如果是一维的话不能保证dp[i]->dp[j]一定是最短的。因为dp[i]记录的“当前位置”不一定是能使dp[j]最小的当前位置。所以dp[i][j]中,i表示的二进制下的当前已经经过的状态,j表示的是原创 2014-08-25 14:07:45 · 866 阅读 · 0 评论 -
HDU 3033 I love sneakers! 分组背包
背包问题的变种,把要装入背包的物品分成了若干类,并且对于每种物品的选取有限制。原创 2014-09-10 12:20:07 · 1177 阅读 · 0 评论 -
ZOJ 3802 Easy 2048 Again 状压DP
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5334原创 2014-08-27 17:03:06 · 1165 阅读 · 0 评论 -
ZOJ 3623 Battle Ships 简单DP
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3623题意:给出N种可以建造的船和对方的塔生命值L,每种船给出建造时间t[i]和每秒输出dps[i],船坞在同一时间只能建造一支船(类似红警),问多少时间以后能够灭掉塔。思路:dp[i]代表的是在前i秒内能造成的伤害量,把时间反过来考虑,对于每支船的建造,在前i原创 2014-08-29 14:53:04 · 1168 阅读 · 0 评论 -
HDU 1520 Anniversary party 树形DP
树形DP入门题,把DP运用到了树这种数据结构中。原创 2014-08-31 00:11:36 · 1165 阅读 · 0 评论 -
POJ 2486 Apple Tree 树形DP+分组背包
分组背包思想与树形DP的结合,极为机智的动态规划。原创 2014-09-13 00:02:29 · 1682 阅读 · 0 评论 -
HDU 2196 Computer 树形DP经典题
这是一道树形DP的经典题目,把树的性质发挥的很清晰。原创 2014-09-01 16:14:25 · 1637 阅读 · 0 评论 -
POJ 1741 Tree 树形DP(分治)
楼教主的“男人八题”之一,分治思想在树上的应用,也是树形DP问题。原创 2014-09-02 03:00:38 · 1931 阅读 · 0 评论 -
POJ 1155 TELE 树形背包
链接:http://poj.org/problem?id=1155题意:电视台转播一场重要的足球比赛,以这个转播机器为根建立一棵“转播树”,数中一共有N个(N思路:从叶到根依次记录当前结点可以满足的观看要求的数量,并且记录满足该数量的最多收益,即对每个结点进行背包DP,保证每次决策的最优化。状态转移方程:dp[u][j]=max(dp[u][j],dp[v][k]+dp[u][j-k]原创 2014-09-04 15:58:28 · 1194 阅读 · 0 评论 -
UvaLive 6531 Go up the ultras DP+RMQ
13年南美区域赛现场赛题目。原创 2014-09-26 17:38:50 · 1155 阅读 · 0 评论 -
acdream 1409 Musical 状压DP
Andrew Stankevich #21 G题,状压DP原创 2014-10-09 12:59:54 · 1189 阅读 · 0 评论 -
POJ 1185 炮兵布阵 状压DP
链接:http://poj.org/problem?id=1185题意:一个地图上有两种地形,H和P,P上可以放一个炮,攻击范围是上下左右各两格,问的是最多可以再地图上放多少个炮。行N 思路:因为上下左右各两格内不能放置炮,所以每一行的状态数从2^10减少到60种。状态转移方程为:dp[i][j][k]=max(dp[i-1][k][l]+bb[j])。dp[i][j][k]表示在第i行状原创 2014-07-21 15:49:19 · 1044 阅读 · 0 评论 -
POJ 2479 Maximum sum
简单DP,时间复杂度必须是O(n),要不然肯定会T。#include #include #include #define maxn 10005using namespace std;int main(){ int tot;long long aa[50020],bb[50020],cc[50020]; scanf("%d",&tot);getchar(); wh原创 2013-08-16 09:12:24 · 702 阅读 · 0 评论 -
hdu 1506 Largest Rectangle in a Histogram
Largest Rectangle in a Histogramdp。思路:分别用两个数组记录对应的每个矩形左侧和右侧高度大于等于它本身的矩形的数量,这样用(高度*(左侧数量+右侧数量+1))即可表示对应高度的最大矩形面积。100000的数据量用O(n2)的暴力肯定会T,分别从左到右更新左侧数量和从右到左更新右侧数量。刚开始用long long 一直wa,后来改成__int64就过了。原创 2013-11-21 13:32:58 · 902 阅读 · 0 评论 -
BUAA 752 (2013北航校赛B)
链接:http://acm.buaa.edu.cn/problem/752/这题在北航就一直卡着,卡到结束后第二天交了一发发现T了,太逗了。题意是求"长度一定的连续字串中的最大值"的最小值。思路没什么问题,用两个数组分别记录每个点左端第一个比本身值大的端点LE和右端第一个比本身值大的端点RI,然后RI-LE-1即为长度,是O(NlogN)。T的原因在于每次询问的时候都用了O(N)的原创 2013-12-09 09:28:02 · 1223 阅读 · 0 评论 -
组合数学第一发 hdu 2451 Simple Addition Expression
hdu 2451 Simple Addition ExpressionProblem DescriptionA luxury yacht with 100 passengers on board is sailing on the sea in the twilight. The yacht is ablaze with lights and there comes out lau原创 2013-12-04 18:19:20 · 1506 阅读 · 0 评论 -
ZOJ 3741 Eternal Reality 简单dp
昨天进行了组队练习赛。在比赛中如果出现思路卡住或者WA题就很容有焦虑不安这种负面情绪涌来,所以自我调节能力和自信显得格外重要,有自信也是在比赛中心理素质的保证,自信源于知识的储备和做过很多题,否则见到一道题就很容易产生一种自己根本做不了的感觉。所以路还长,加油。链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5123原创 2014-02-28 13:32:50 · 1231 阅读 · 0 评论 -
HDU 3415 Max Sum of Max-K-sub-sequence 最长K子段和
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3415题意:给出一个数环,要找出其中9长度小于等于K的和最大的子段。思路:不能采用最暴力的枚举,题目的数据量是10^5,O(N^2)的枚举回去超时,本题采用的很巧妙的DP做法,是用单调队列优化的DP。运用的是STL的deque,从i:1~a找到以其中以i为尾的符合条件的子段,并将i本身放入双向队原创 2014-05-01 01:17:19 · 1467 阅读 · 0 评论 -
POJ 2533 Longest Ordered Subsequence 最长上升子序列
最长上升子序列:有两种基本方法:两个时间复杂度分别为O(n^2)和O(nlogn)。O(n^2)容易的出动态规划的递推公式dp[i]=max(dp[j])+1 j=1,2...i-1,dp[i]是以元素i结尾的最长子序列个数。在O(n^2)的最长上升子序列中可以通过记录每个元素前缀元素位置的方式来得到整个的最长上升子序列。代码:int LISOn2(int a[],int to原创 2014-04-28 10:44:49 · 1012 阅读 · 0 评论 -
POJ 3254 Corn Fields 状压DP
链接:http://poj.org/problem?id=3254题意:一块M*N的田地,每小块地大小是1*1,可以种植物的标记为1,不可以种植物的标记为0,并且相邻的两块地不可以同时种植物。问题是有多少种不同的种植方案(所有地都不种也是一种种植方案)思路:这是第一道状压DP题,从第一行更新到最后一行,每一行用一个N位的二进制数来表示该行的状态1表示该位置种了植物,0表示该位置没种植物。因原创 2014-07-19 20:40:56 · 937 阅读 · 0 评论 -
COJ 1032 登山 DP
Description秋天到了,CUGB-ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?Inpu原创 2013-07-12 15:42:09 · 1477 阅读 · 0 评论 -
HDU 4791 Alice's Print Service 简单DP
连接:http://acm.hdu.edu.cn/showproblem.php?pid=4791题意:打印问题,n次条件,打印量≥si时,每张纸的打印价格为pi(0≤n≤1e5),问打印m次询问,qi张时最少需要多少钱(0≤m≤1e5)。思路:如果对每次询问进行便利复杂度O(m*n)太大,超时。所以进行离线处理,将询问排序,从小到大依次处理,处理过程O(n+m),但排序过程是O(mlog原创 2014-07-29 11:29:38 · 1066 阅读 · 0 评论 -
POJ 1179 Polygon 区间DP
链接:http://poj.org/problem?id=1179题意:给出一个多边形,多边形的每个顶点是一个数字,每条边是一个运算符号“+”或者“x"。要求的过程如下,手下移除一条边,即这条边不做运算。之后每次移除一条边,将其两边的数字进行对应边的运算,用得到的数字来替代原来的两个点。要求所有边都移除以后得到的最大的答案。思路:典型的区间DP,在过程中每次操作的处理方式为dp_max[i原创 2014-07-05 15:57:19 · 1023 阅读 · 0 评论 -
Timus 1057 数位dp
1057. Amount of DegreesTime limit: 1.0 secondMemory limit: 64 MBCreate a code to determine the amount of integers, lying in the set [X;Y] and being a sum of exactlyK different integer de原创 2013-11-28 13:14:07 · 829 阅读 · 0 评论 -
POJ 3420 Quad Tiling 状压DP+矩阵快速幂
链接:http://poj.org/problem?id=3420题意:给一个4*N(1 ≤ N ≤ 1e9)的矩形空间,并且给不限块数的1*2的多米诺骨牌,问是由多少种方式能把这个矩形空间填满。思路:看到这种问题果断想到状压,虽然是在看矩阵的时候看到的这道题。dp[i][j]表示在第i行状态为j的情况下的填满方式数,j的二进制表示中0表示对应位置上一行的骨牌是竖放,或者对应位置的骨牌是横原创 2014-07-26 21:03:06 · 1340 阅读 · 0 评论 -
HDU 4815 Little Tiger vs. Deep Monkey 背包问题
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4815题意:很“内涵”的一个题面,题意是给出N道题,和一个概率P,然后给出每道题对应的得分aa[i](每道题只有两个选项,一个正确一个错误)。两个人来答题,一个人是随机选择答案,问另一个人至少要答多少分才能保证有P的概率不会失败。思路:是一道DP题,最开始想强行枚举所有情况,找到需要分数,后来发现4原创 2014-07-22 10:16:21 · 1195 阅读 · 0 评论 -
HDU 1693 Eat the Trees 插头DP
插头DP第一题。原创 2014-10-21 17:58:35 · 1238 阅读 · 0 评论