dp
文章平均质量分 56
getupdown
这个作者很懒,什么都没留下…
展开
-
poj 3666 Making the Grade ( dp 离散化 优化)
poj 3666原创 2016-07-15 21:03:38 · 262 阅读 · 0 评论 -
51nod 1405 树的距离之和
这是一个树形dp的思想,两次dfs。第一次dfs处理出,对于每个u,其所有子孙节点到其的距离之和。第二次dfs处理出,对于每个u,所有点到其距离之和。#include#include#include#include#include#include#include#include#define LL long long intusing namespace std;原创 2017-05-05 23:34:15 · 244 阅读 · 0 评论 -
51nod 1524 可除图的最大团
题目链接:点击打开链接这个题如果往图论上不行,因为边太多了,所以我往数的角度想。如果能组成一个集合,那么这些数从小到大排,两两之间肯定有倍数关系。所以用dp[x]表示,到x为止,能组成的最大集合。用一个arr数组表示,这个数有没有在集合中出现。不会超时,因为每个状态只需要走一次,而且转移的同时会覆盖掉没覆盖的状态。用一下读入优化好一些。#include#include原创 2017-04-20 00:46:19 · 246 阅读 · 0 评论 -
51nod 1503 猪和回文 (dp + 优化好题)
题目链接:点击打开链接这道题是个dp计数问题,朴素的dp方程其实并不是很难dp[x1][y1][x2][y2]表示当从左上角走到x1,y1 从右下角走到x2,y2时的状态总数,然后根据上下左右,字符是否相等转移即可。但是这里的4维都是高达500的,首先这么大的DP数组肯定是开不下的,所以一定要优化。思考转移过程,因为这里要求是回文,所以我们肯定是从 两个相同字符长度 转移到 下一个原创 2017-04-20 00:16:09 · 421 阅读 · 0 评论 -
51nod 1453抽彩球
题目:点击打开链接做法:“对于所有颜色为i (1的球,他的最后一个球总是在编号比他大的球拿完之前拿完”,也就意味着,i拿完的时候,不可以有它前面的球没拿完。假设现在拿完了第i种球,准备在其中插入第i+1种球(第i+1种球有t[i+1]个),就相当于,在这些球的最后一定要放一个i+1号球,设没放i+1号球的球数为cnt,cnt个球会产生cnt+1个空,问题就转换成了:在cnt+1个空中,原创 2017-04-03 22:24:23 · 385 阅读 · 0 评论 -
Adventure of Super Mario UVA10269(floyd+dijstkra+动态规划)
题目大意就是:马里奥有个可以用K次的魔法鞋,然后每次魔法鞋可以穿过不超过L米,并且不可以穿过城堡,问最短时间。思路:用dp[i][j]表示,到第i个点,还剩j次魔法鞋使用机会的最小时间。这里预处理是用Floyd做的,floyd的本质就是枚举一个中间点,然后再枚举两边,所以只要中间这个k是城堡就直接跳过,不是的话就跑floyd。#include#include#inc原创 2016-08-24 00:00:18 · 465 阅读 · 0 评论 -
Mega Man's Mission UVA11795(状态压缩dp)
大意: 主角自己有一些武器,然后每个机器人身上有一些武器,每个机器人需要用特定的武器才能消灭。 问,有多少种消灭机器人的顺序。思路: 用 dp[S][i] 表示现在消灭的机器人集合为S(获得的武器也隐含在其中了,不用再开一维),而且是通过消灭第i号机器人到这个状态,这个状态下的顺序总数。我的代码用了一个atk[S][j] 数组,表示在消灭了S这个集合机器人的情况下,能不能消灭第j个机器人,这样原创 2016-08-27 23:42:40 · 519 阅读 · 0 评论 -
POJ 1185 炮兵阵地 (状态压缩dp)
poj 1185原创 2016-07-17 22:29:17 · 261 阅读 · 0 评论 -
Doing Homework hdu 1074 集合dp+字典序输出
hdu 1074原创 2016-07-16 16:20:09 · 303 阅读 · 0 评论 -
Kingdom Division ——hackerrank
题意:给一棵树的每个节点涂色(红或黑),使得任意一个红结点周围不全是黑结点,并且任何一个黑结点周围不全是红结点,问这样的涂色方式有多少种。 链接:这里写链接内容 思路:树形dp。 dp[i][0/1][0/1]表示第i个节点是红色/黑色的时候,其叶子 不全部和他相反/全部和他相反的情况下,其代表子树涂色种类数。方程: dp[i][0][1] 为其叶子的dp[v][1][0]的乘积 dp[i原创 2017-06-22 23:58:17 · 597 阅读 · 0 评论