
DP
yuukilp
Full Of Curiosity
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 5593 ZYB's Tree
题意: 给定一棵树,对每个点 ii,统计树上面与其距离不超过 kk 的点的个数,然后所有值求异或。1≤N≤5000001 \leq N \leq 500000,1≤K≤101 \leq K \leq 10思路: 暴力,开始想到了同样的思路,觉得暴力会挂的样子,没敢去写。。。 首先处理出 dp[i][j]dp[i][j] 表示 ii 节点子树中与 ii 的距离 ≤j\le j 的点原创 2015-12-12 23:25:45 · 417 阅读 · 0 评论 -
GCJ 2018 Round 2
占坑,明天过来补题解A模拟 + 贪心Bdp,简单背包C建图,经典二分匹配原创 2018-05-20 01:58:13 · 697 阅读 · 0 评论 -
Codefest 17 C. Helga Hufflepuff's Cup(树形DP)
题意: 在一棵树上进行涂色,总共有 mm 种颜色(编号1−m1 - m),其中编号为 kk 的颜色为特殊颜色,如果树上一个节点染上了特殊颜色,则其邻居节点的颜色编号都应该<k < k,求在这棵树上染色总共有多少种方法,染上特殊颜色的节点的数目不超过 xx 个。 n≤105, m≤109, x≤10n \le 10^5,\ m \le 10^9,\ x \le 10思路: 难点:状态原创 2017-09-25 22:55:50 · 364 阅读 · 0 评论 -
CDOJ 1136(数位DP)
题意&思路: 题意:求区间[1,n] 内满足i < j, 并且f(i) > f(j) 的数对数目? 学习了一波数位dp的一般写法,很爽。。。。 首先把原数字转化为二进制数,然后考虑dp[pos][diff][f1][f2][f3] 表示对于状态下的答案: Pos:当前处于第pos位 Diff:f(i) - f(j)的值 F1: i与n的大小关系,1表示小于原创 2016-05-15 23:22:02 · 478 阅读 · 0 评论 -
CDOJ 1346(斜率DP)
题意&思路: 题意:把大的区间分段,每一段的有一个花费,求总的最小花费。 这种分段的花费的题,貌似成了斜率dp的一眼题了,上次CF的E题比赛的时候,实力套路一波斜率dp的推导过程,感觉还不错,还学习了下二维的斜率优化。 首先,你假设就按二维来做,然后看是否满足能够去斜率优化,写出二维的转移就是: Dp[i][j]Dp[i][j] : 区间 [1,i][1,i] 分为 j原创 2016-05-15 23:34:09 · 460 阅读 · 0 评论 -
CDOJ 1351(树形DP)
题意&思路: 题意:带权边树上,在起点0出发,初始值为VV,求最多能访问的节点数目? 如果数据小一点,我们可以考虑 dp[u][i]dp[u][i],表示u节点及其子树花费i最多能够访问的节点数,这个是很好做的,树上背包嘛。 但是题目多询问,于是考虑 dp[u][i][o]dp[u][i][o] ,表示当前节点u及其子树,访问了 ii 个节点,并且是否停留在u点的最小花费。原创 2016-05-15 23:27:23 · 375 阅读 · 0 评论 -
TC SRM 683 Div2(1000pts)
题意: 给一棵树,求这棵树的所有连通子图的点的数量之和?(n≤105n \le 10^5)解释: dfs+dp dfs + dp 很好的题! dp[u]dp[u] 表示以 uu 为根节点的不同的子树的数量,S[u]S[u] 表示 以uu 为根节点的所有不同子树的节点的数量之和 那么对于叶子节点:dp[u]=S[u]=1dp[u] = S[u] = 1 转移:(vv 为原创 2016-02-29 22:23:49 · 505 阅读 · 0 评论 -
CF EDU #8 D - Magic Number
题意: 现在定义d-magic数字,就是一个没有前导0的数,d恰好仅出现在这个数的偶数位置。 然后现在给你m,d,a,b。问你在[a,b]内,是m的倍数,且是d-magic的数字有多少个解释: 数位DP (记忆化瞎比搜) 定义 dp[pos][Mod][Flag] 为 当前处于第pos位,余数为Mod,所选的上一位是否到达上界(这会影响下一位数的选择范围) 然后转移一波原创 2016-02-28 21:52:15 · 343 阅读 · 0 评论 -
HDU 5637 Transform
题意: 对一个数,给定两种操作: 1. 把这个数的某个二进制位翻转 2. 把这个数和给定的n个数中的某一个数进行异或 问把 xx 转化为 yy 最少需要多少步?(n≤15,x,y≤105n \le 15, x,y \le 10^5)解释: 注意到异或的一个性质,题目就转化为求怎样经过最少的步数转换得到 x ^ y,数只有 100000100000,所以预处理搜一波就行了!原创 2016-03-07 20:14:09 · 439 阅读 · 0 评论 -
FB Hacker Cup 2016 Qualification - D Text Editor
题意: nn 个字符串,任意打印 kk 个,每次操作有光标后面添加一个字符,光标处删除一个字符,打印这个串!求最少的操作次数? 范围:1≤n,k≤2001 \le n, k \le 200思路: dpdp,而且和上一篇文章里提到的 dpdp 很相似。 首先,需要知道,要减少操作的次数,主要就是使得打印的相邻的两个串的 LCPLCP 最长,所以把初始的串按照 字典序 排个序,原创 2016-01-14 21:38:52 · 524 阅读 · 0 评论 -
CodeChef January Long Challenge 2016 - SEAKAM
又是这种类型的DP,看似需要 n!n! 的复杂度,其实定义好dp状态就行啦!题意: 给定一个包含 NN 个点的无向图,给定 kk 条边,表示无向图中这些边不存在,其余不包括在这 kk 条边中的边都存在,求走完整个图(每个点只能访问一次)有多少种走法? 范围: 1≤N≤105,0≤k≤71 \le N \le 10^5,0 \le k \le 7思路: 转化一下,问题就是求有多原创 2016-01-14 21:24:31 · 419 阅读 · 0 评论 -
UESTC 879 (斜率DP)
转载自 xiper题意: 链接:这里解释: 作为斜率DP的入门题,学习了下! 这是一道斜率优化DP的题目.我们令 f(i,j)f ( i , j ) 表示将前 ii 个人分成 jj 份所需的最小费用.F(i,j)F ( i , j ) = min{F(u,j−1)+(sum[i]–sum[u+1])2}min \{ F ( u , j -1) + (sum[i] – sum[ u原创 2016-01-28 23:56:43 · 436 阅读 · 0 评论 -
SRM 678(div2)
题意: 有n-1阶悬浮的楼梯,楼梯顶和地面固定。已知每阶楼梯离地面的高度,一个人要从楼梯顶走到最下面,每阶楼梯可以上下自由移动,问最小的花费?当下降距离超过 DD 时,花费为 (H−D)2(H- D)^2,否则花费为0。最多只能移动 TT 阶楼梯!思路: dp[i][j]定义为走到第 ii 阶楼梯,使用了 jj 次移动的最小花费,注意到这样的一个性质:从第 ii 阶走到第 i+ki+k ,原创 2016-01-27 14:35:54 · 472 阅读 · 0 评论 -
Harry And Magic Box (dp题)
Problem DescriptionOne day, Harry got a magical box. The box is made of n*m grids. There are sparking jewel in some grids. But the top and bottom of the box is locked by amazing magic, so Harry ca原创 2015-01-03 22:33:48 · 630 阅读 · 0 评论 -
hdu 1423 Greatest Common Increasing Subsequence(最长公共递增子序列lcis)
求最长公共上升序列dp[j] 表示B串中以j结尾的最长公共递增子序列所以更新的时候当扫到A串的第i个数时,遍历B数组,找到小于A[i]且dp[j] 最大的数的位置x,判断当满足a[i]==b[j]时,则更新dp[j]=dp[x]+1。代码:#include#include#include#include#include#include#include#include原创 2015-05-07 21:15:54 · 456 阅读 · 0 评论 -
HDU - 4283 You Are the One(区间DP)
题意: 给定NNN个人,编号分别为1−N1−N1-N,按顺序进栈,随意选择出栈顺序,每个编号为iii的人在第kkk个出栈时,其花费为:v[i]∗(k−1)v[i]∗(k−1)v[i] * (k-1). 求所有可能的出栈顺序中,总花费的最小值?思路: 非常好的DP题目,一旦想到状态定义后,后面的东西就简单了。 一开始,由于这个跟卡特兰计数非常相关,我自己想的定义dp[i]...原创 2018-06-13 16:06:46 · 223 阅读 · 0 评论