
DP
文章平均质量分 79
kopyh
这个作者很懒,什么都没留下…
展开
-
HDU-4055 Number String
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4055题意:给出一个字符串s,其中'D'代表递减,‘I’代表递增,‘?’代表任意;s[ i ] 表示第i+1个数字相对第i个的状态;求n个数字的排列组合满足条件的组合数;思路:dp,根据 I 或 D 更新dp[i][j];dp[i][j],表示第i个数字为j时的方案数原创 2015-07-30 10:19:33 · 791 阅读 · 0 评论 -
HDU 1176 免费馅饼
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1176题意:有一条长11的路径,n个馅饼掉下来,每秒钟站在i处可以够到i,i+1,i-1三处其中之一的馅饼,每秒可以移动一次,一开始在5位置。求最大馅饼数。思路:dp[i][j]为i秒时在j处拿到的最大馅饼数,一开始储存没处每秒的馅饼数,然后倒推回来,dp[i][j]+=max(dp原创 2015-10-14 20:19:17 · 325 阅读 · 0 评论 -
HDU 1024 Max Sum Plus Plus
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1024题意:给出n思路:简单dp,经典,换句话说就是题有些老了,没给出m的范围坑私人,其实m不大于100,所以完全可以开一个dp[m][n],O(n*m)的搞。dp[i][j]就是前j个数字取i段的最大和。dp[i][j]=max(dp[i][j-1]+a[j],dp[i-1][原创 2015-10-13 21:16:50 · 348 阅读 · 0 评论 -
HDU 1114 Piggy-Bank
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1114题意:有一个存钱罐,不知道里面有多少钱,现在有它空时的重量和满时的重量,以及一些硬币的重量和价值,然后预测存钱罐中可能最少有多少钱。思路:因为重量上限只有1e4,最多只有500种硬币所以可以通过枚举重量来dp,dp[i]=min(dp[i-b[j]] + a[j]);代码:原创 2015-10-14 19:21:23 · 326 阅读 · 0 评论 -
HDU 1520 && POJ 2342 Anniversary party
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1520题意:给出一个公司的上下级关系,有一个聚会,有直接上下级关系的人不能同时去,每个人去都有一个value求让其中一些人去时取得的最大value值。思路:简单树形dp,从叶子节点开始向上dp就行了。dp[i][0]表示不取i点能够取得的最大值,dp[i][1]表示取i点时能够取得的最大原创 2016-01-10 21:17:24 · 418 阅读 · 0 评论 -
HDU 1561 The more, The Better
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1561题意:有许多城堡,攻克就可以拿到其中的宝藏,攻克某个城堡可能需要先攻克另一个城堡。问攻克m个城堡能够拿到的最多宝藏。思路:就是点技能点的问题。树形dp,把能够直接点的根节点连接到0点上,然后取以0为根节点的树取m+1个点的最大值。f[i][j]就是以i为根节点的子树中取j个点的原创 2016-01-10 22:08:00 · 313 阅读 · 0 评论 -
HDU-3652 B-number (数位dp)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3652题意:计算区间内是13的倍数并且包含13的数的个数。思路:数位dp,既要包含13又要是13的倍数,所以有2个状态。具体见代码注释。代码://kopyh#include #define INF 0x3f3f3f3f#define MOD 1000000007#defi原创 2016-03-25 13:59:14 · 335 阅读 · 0 评论 -
ZOJ-3264 Present for MM (背包dp)
题目:http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3264题意:有三种关系,1:dd与mm,两个东西必须同时取。2:dd与gg,两个物体不能同时取。2:dd与影子,可以单取第一个物体,但是第二个必须取了第一个才能取。思路:背包问题,第一种直接把两个物体合并,第二种分别取,第三种取第一个或者原创 2016-03-28 19:18:41 · 453 阅读 · 0 评论 -
HDU5787 K-wolf Number(数位DP)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5787题意:计算区间内满足:相邻k个数位不重复的数的个数。思路:明显的数位DP,注意储存时存后缀4位就行了。代码://kopyh#include #define N 19using namespace std;int n,m,sum,res,flag;long lo原创 2016-08-02 18:45:52 · 429 阅读 · 0 评论 -
POJ1155 TELE(树DP)
题目:poj.org/problem?id=1155题意:有N个节点的一棵树,上面前n-m个节点是信号站,后m个节点是用户,每个节点之间传输有消耗,每个用户有费用,总信号从1节点传输出来,求在不赔本的情况下能够最多传输给多少个用户。思路:明显是树DP,考虑3000个节点,dp[i][j]就是第i个节点在传输给j个用户的情况下的最小花费是多少,记录每个节点取得的可能最大用户数原创 2016-10-27 19:05:11 · 390 阅读 · 0 评论 -
HDU 1087 Super Jumping! Jumping! Jumping!
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1087题意:给出一列数字,求从头跳到尾取所有跳到位置的数字和的最大值,每次只能跳到更大的数字,并且不能往回跳。就是LIS最长上升子序列思路:经典DP,就是求最长上升子序列,这道题的数据比较小,O(n^2)可以直接暴力搞;代码:#define N 1123int n,m;i原创 2015-10-14 18:32:13 · 304 阅读 · 0 评论 -
HDU 1074 Doing Homework
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1074题意:给出一些科目作业的完成所需时间和最后期限,每比最后期限晚1天交就要减一学分,求如何安排写作业能够让被减的学分尽可能的少。思路:简单状压dp,数据很小所以开一个dp结构体,包含t,s,pos,res[16]就是在i状态时所需时间,最小扣分,已写作业数,写作业顺序。然后状原创 2015-10-14 16:44:39 · 393 阅读 · 0 评论 -
HDU 1069 Monkey and Banana
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1069题意:给出一些长方体箱子,长宽都小于另一个箱子的可以摞在一起,求能够摞起来的最大高度。思路:简单dp,主要是数据很小最多30个箱子,于是直接n^2暴力dp即可,注意是长方体箱子,任意一面都可以做底,所以每个箱子分成三种箱子,然后暴力dp每个箱子上面能摞的最大箱子高度。代码:原创 2015-10-14 15:46:48 · 647 阅读 · 0 评论 -
HDU-4778 Gems Fight!
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4778题意:有b个盒子,每个盒子中有一些石头,石头颜色共有g种颜色,二人轮流把其中一个盒子的石头放入锅中,每s个相同颜色的石头可以生成一种魔法石。每个人放入一盒石头后的得分为当前生成的魔法石数,如果生成了魔法石可以再放一盒石头。求第一个人得分减去第二个人分数的最大值。思路:首先发原创 2015-08-25 15:26:11 · 474 阅读 · 0 评论 -
HDU-4800 & ZJU-3735 Josephina and RPG
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5081题意:给出m个角色能够组成的C(m,3)种队伍之间的胜负概率;f[i][j] 代表第i队胜dij队的概率;给出m次对战的对手队伍序号;求最大胜率;思路:dp,dp[i][j] 表示与第i个对手对战时的最大胜率;倒推对手,原创 2015-07-30 11:17:09 · 392 阅读 · 0 评论 -
HDU-1506 || HDU-1505 || HDU-2870 || HDU-2830
题目:4道dp类型相似。HDU-1506 Largest Rectangle in a Histogram:题意:给出一列柱状图的高度,在其中找出组成的最大矩形思路:最基础的一道,之后4题都是用的一样的思想。从每个点向两边扫,找到大于等于该点高度的最远端。扫的时候加上l[],r[]数组用dp的思想记录每个点构造矩形的左右端点确保每个点只被左右各扫一次。原创 2015-08-04 20:25:17 · 436 阅读 · 0 评论 -
HDU-2577 How to Type || HDU-2845 Beans
题目:2道类型相似的dp。HDU-2845 Beans:题意:给出一个二维数字矩阵,其中每个点存放着豆子,求出能够吃到的最大豆子数要求:每吃一个格子里的豆子,这个格子两边的两格和上下两行都不能吃了。思路:每个点都只有吃或不吃两种状态,两个数组分别储存吃与不吃该点时的最优解。求出每一行的最优解之后看作一列求整体最优解。代码:#defin原创 2015-08-04 20:44:21 · 430 阅读 · 0 评论 -
ZOJ 3822 Domination
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3822题意:随机往一个n*m的棋盘里放棋子,求每行每列都有棋子所需的棋子数的期望。思路:概率dp,然而是强行暴力所有情况出来的跑了2s多,dp[i][x][y]表示放了i枚棋子有x行有棋子y列有棋子的概率,然后从dp[i-1][x][y],dp[i-原创 2015-10-02 16:48:22 · 354 阅读 · 0 评论 -
HDU 4571 Travel in time
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4571题意:有n个景点,互相之间有一些路,每条路都有耗时,游玩每个景点也有一个耗时,游玩每个景点之后会获得一个满意度,现在要从给定的s景点走到e景点,要求在t时间内获得最大的满意度,且游玩当前景点能够获得的满意度必须大于前一个景点时才能游玩。思路:因为游玩的下一个景点的满意度一定大于当前原创 2015-10-20 18:21:14 · 509 阅读 · 0 评论 -
HDU 4568 Hunter
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4568题意:n*m的棋盘中放着一些宝藏,每个点都有经过的耗时,要求从任意位置进入棋盘后拿到所有宝藏然后离开棋盘,每个点可以经过多次,求最小耗时,-1的点是不可走的。思路:图的大小是200*200但是宝藏最多只有13个,所以很容易想到重新建图,把13各点互相之间的距离求出来建图然后有一个虚原创 2015-10-20 18:06:50 · 438 阅读 · 0 评论 -
HDU 5115 Dire Wolf
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5115题意:有一排狼,要把他们都打死,打第i个狼会收到a[i]的伤害,并且这只狼两边的狼也会对思路:最大5*5的棋盘,dfs暴搜即可,加上一种剪枝,当某种颜色剩余的数量大于剩余格子数的一半时就一定会有相邻格子颜色相同。简单搜索,不过要剪枝,在现场成了银牌题。代码:原创 2015-10-09 15:15:04 · 338 阅读 · 0 评论 -
HDU 5119 Happy Matt Friends
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5119题意:给出n个数字,求他们的中任意挑出一些数字(可以是0个)异或之后的结果大于等于m的方法数。思路:最多40个数,数字最大1e6可以暴力dp得出结果,dp[i][j]表示放入i个数字时异或结果为j的方法数,可以用滚动数组来优化内存,然后注意初始化,暴力就过了。代码:#d原创 2015-10-09 15:29:48 · 448 阅读 · 0 评论 -
HDU5956 The Elder(树上斜率DP)
题目:Once upon a time, in the mystical continent, there is a frog kingdom, ruled by the oldest frog, the Elder. The kingdom consists of N cities, numbered from east to west. The 1-th city, which is原创 2016-10-31 10:57:47 · 2448 阅读 · 3 评论