动态规划
smilestruggler
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode 887. 鸡蛋掉落(DP+二分)
题目链接:https://leetcode-cn.com/problems/super-egg-drop/ 题目大意: 有K个鸡蛋,N层楼。第F层楼及以下鸡蛋扔下去不会碎,以上扔下去会碎,如果扔下去没碎还能继续用,否则就没了。问最少多少次能够保证无论F是哪一层都能测出来。 题目思路: 看了半天没看出是DP…首先可以发现一个事情,如果只有一个鸡蛋,那么想试只能从一...原创 2020-04-19 21:27:19 · 419 阅读 · 0 评论 -
CodeCraft-20 (Div. 2) E. Team Building(状压DP)
题目链接:https://codeforces.com/contest/1316/problem/E 题目大意: 有n个人,要选一支排球队伍,一共有p个位置,每个位置都需要一个人,同时需要k个观众,一个队员只能去一个位置,而且每个人要么去排球队要么去观众要么什么也不干,只能有一个身份,给出每个人当观众的值以及在每个位置上的值,求和最大值。n≤1e5,p≤7,p+k≤1e5n≤1e...原创 2020-03-05 23:41:05 · 364 阅读 · 0 评论 -
Codeforces Round #505 D. Recovering BST(区间DP)
题目链接:https://codeforces.com/problemset/problem/1025/D 题目大意: 给n个数字,问是否能构成一棵每条边连接的两个数最大公因数不为1的二叉搜索树,n≤700n≤700n≤700 题目思路: 菜鸡理解错了二叉搜索树。。对于二叉搜索树上的点,右子树所有的点都比该点大,左子树所有的点都比该点小。还有一个性质,如果题目能...原创 2020-03-04 14:58:04 · 309 阅读 · 0 评论 -
Codeforces Round #585 (Div. 2) E. Marbles(状压DP)
题目链接:https://codeforces.com/contest/1215/problem/E 题目大意: 有一个序列,每次可以交换相邻的数字,问最少多少次交换能使得相同的数字呆在一起 题目思路: 其实距离想出来就差一点点了…最后没想出这个代价怎么处理,后来还是放弃了…首先看到颜色只有20,马上想到状压DP,dp[i]dp[i]dp[i]的iii转换为二进...原创 2020-02-10 23:15:50 · 236 阅读 · 0 评论 -
Codeforces Round #604 (Div. 2) E. Beautiful Mirrors(概率DP)
题目链接:https://codeforces.com/contest/1265/problem/E 题目大意: 有n面镜子,有个家伙从第一面镜子开始,问第i个镜子自己美不美,镜子有pip_ipi概率说美,那她就第二天问下一个镜子,如果已经到了第n个镜子,并且说她美,那她就很高兴。如果中途有一次镜子说她丑的一批,他就会重新从第一个镜子开始问,求他开心的期望天数。 ...原创 2020-02-08 20:53:10 · 270 阅读 · 0 评论 -
Codeforces Round #597 (Div. 2) E Hyakugoku and Ladders(概率DP)
题目链接:https://codeforces.com/contest/1245/problem/E 题目大意: 一个10*10矩阵,左下角起点,左上角终点,按照S型前进,每次通过扔骰子确定行走步数,1~6概率相同,到最后只剩1~6的时候只能正好扔到所需点数才能到达。同时如果遇到梯子的话可以沿着梯子爬上去,问到达终点的期望步数。 题目思路: 设1为终点,100为...原创 2020-02-04 16:34:53 · 326 阅读 · 0 评论 -
Codeforces Round #597 (Div. 2) F Daniel and Spring Cleaning(数位DP)
题目链接:https://codeforces.com/contest/1245/problem/F 题目大意: l<=a<=r,l<=b<=r,问a+b=a^b的对数 题目思路: qsc题解视频:传送门 这道题,就差标题后面画个括弧里面写上数位DP模板题了。。一眼数位dp,然而太久太久没写数位dp了,完全忘记了怎么写。。。。。。。。...原创 2020-02-03 01:45:22 · 285 阅读 · 0 评论 -
Codeforces Round #603 (Div. 2) F Economic Difficulties(DP)
题目链接:https://codeforces.com/contest/1263/problem/F 题目大意: 有两棵树,都以1为根节点,两棵树的叶子数量相同,且都分别连接一个电机,若电机存在到达任意一棵树的根节点的路径,则表示该电机可用,问最多删除多少条边仍能保持所有电机可用。 题目思路: qsc讲解视频传送门:传送门 首先可以发现一个事情,那就是这是一...原创 2020-02-01 01:18:54 · 304 阅读 · 0 评论 -
Codeforces Round #599 (Div. 2) E Sum Balance(模拟+状压DP)
题目链接:https://codeforces.com/contest/1243/problem/E 题目大意: 一共有k堆数,每堆数有nin_ini个数字,每堆数字出一个数字收一个数字,要求最后每堆数的和都相同。 题目思路: 视频推荐:传送门 博客推荐:传送门 这篇博客的代码非常精炼,一共也就59行,且非常优美很容易看懂,非常赞,非常推荐! 这题...原创 2020-01-29 17:55:50 · 284 阅读 · 0 评论 -
Codeforces Round #600 (Div. 2) E Antenna Coverage(DP)
题目链接:https://codeforces.com/contest/1253/problem/E 题目大意: 有很多信号塔,每个信号塔的范围是覆盖的范围是(ai−bi,ai+bi)(a_i-b_i,a_i+b_i)(ai−bi,ai+bi),给出aia_iai和bib_ibi,每个信号塔可以花1块钱变大b,1块钱能增加1,最后求使得1−m1-m1−m都被覆盖的最少...原创 2020-01-27 22:07:38 · 363 阅读 · 0 评论 -
Codeforces Round #614 (Div. 2) E. Xenon's Attack on the Gangs(DP记忆化搜索+思维)
题目链接:https://codeforces.com/contest/1293/problem/E 题目大意: 给出一棵树,要求给树的每条边赋权值,使得树中所有点的mex(x,y)mex(x,y)mex(x,y)和最大,并输出这个和 mex(x,y)mex(x,y)mex(x,y)指的是从x到y的路径中,没出现过的整数的最小值 题目思路: 推荐qsc的题解...原创 2020-01-27 15:37:14 · 434 阅读 · 0 评论 -
Codeforces Round #612 (Div. 2) C. Garland(记忆化搜索dp)
题目链接:https://codeforces.com/contest/1287/problem/C题目大意:一个1~n的序列,其中有几个数字缺了,是0,填充这些0,使得结果中相邻数字奇偶性不同的数量最少。题目思路:怀疑人生。。感觉自己弱爆了。看了官方题解,其实跟我的思路一致,但我觉得有问题,就是这个贪心。简单说一下,就是将每一段连续的0看成一段,然后先处理这些段两端是相同奇偶性或者是到头的(...原创 2020-01-13 23:52:03 · 316 阅读 · 0 评论 -
Codeforces Round #595 (Div. 3) F. Maximum Weight Subset(树形DP)
题目链接:https://codeforces.com/contest/1249/problem/F题目大意:给一个树,求满足一个集合的点权和,使得集合内所有点之间距离大于k且点权和最大题目思路:真的完全想不出来。。实在太牛B了。这个DP设的就非常牛B,dp[i][j]表示以i为根的子树,点集中的点距离i的距离最少为j的子集的最大点权和。为啥这么设呢?因为本题的难点在...原创 2019-10-24 15:55:28 · 380 阅读 · 0 评论 -
Codeforces Round #594 (Div. 2) Ivan the Fool and the Probability Theory(DP)
题目链接:https://codeforces.com/contest/1248/problem/C题目大意:n*m的长方形中,一共有两种颜色,问每一个块相邻最多有一个与之相同颜色的块的染色方案数题目思路:想了好久想不出来..真的丢人啊!挺水的一个题.......首先我们可以发现,如果有相邻两块颜色一样,那么他们下一行一定是确定的,因为这两块的下面两个块颜色不能与之相同,直角是...原创 2019-10-21 18:06:40 · 658 阅读 · 5 评论 -
Codeforces Round #589 (Div. 2) E. Another Filling the Grid(容斥+DP)
题目链接:http://codeforces.com/contest/1228/problem/E题目大意:一个n*n的正方形,每个格子能填1~k的数字,问每一行每一列至少有一个1的方案有几种题目思路:法一:容斥,如果行和列一起容斥会很难,所以直接先保证列肯定全有,对行进行容斥,首先是所有列都有1的所有情况,第一列有1的情况就是,随便取-取不到1的方案数就是至少有一个1...原创 2019-10-18 14:51:43 · 257 阅读 · 1 评论 -
2019杭电多校第八场 HDU 6662 Acesrc and Travel(树形DP换根法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6662题目大意:有两个家伙在博弈,每个家伙都想让自己减对方的值尽可能大,每人走一步直到走不动,走的图是棵树,求最后结果题目思路:这题给我最大的教训就是..AC前看题解看思路不要看代码!!!!!!!!这个坏习惯导致我昨天白浪费一晚上,每个人的编码习惯不同,稍复杂的题如果没有作者亲自说可...原创 2019-08-17 09:44:05 · 376 阅读 · 0 评论 -
【2016-2017 ACM-ICPC (ECNA 2016) F】Removal Game(区间dp)
题目链接:http://codeforces.com/gym/101196题目大意:有n个数字成环,删掉一个数字的代价是周围俩数的gcd,只剩俩数字的时候用这俩数字的gcd作为代价,问删掉所有数字的最小代价题目思路:考虑区间dp,dp[i][j]表示i,j区间内,删的只剩下i和j的最小代价,当长度为1和2时,dp值为0,其他时候枚举中间的点作为最后一个被删除的点,那么dp[i]...原创 2019-08-21 10:38:07 · 378 阅读 · 0 评论 -
The Preliminary Contest for ICPC Asia Nanjing 2019 ICPC南京站网络赛 D robots(随机游走概率DP+拓扑排序)
题目链接:https://nanti.jisuanke.com/t/41301题目大意:有一张有向无环图,你要从入度为0的点走到一个出度为0的点,保证这两种点各只有一个,你可以走到下一个点也可以保持原地不动,每过一天可以走一步,每天都要加上一个值就是已过的天数作为代价,求代价的期望,比如到达一个点需要3天,那么就是1+2+3题目思路:随机游走模板题?做过类似题目应该这题不成问题...原创 2019-09-04 12:59:13 · 260 阅读 · 0 评论 -
2019江西省赛A题 HDU 6567 Cotree(树的重心 or 树形DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6567题目大意:给出n-2条边形成两棵树,需要连一条边将它们变成一棵树使得任意点距离和最小,并输出这个距离和。题目思路:法一:由树的重心性质,重心满足所有点到该点的距离和最小,所以求出两棵树的重心,连起来跑个树上任意点距离和板子即可。法二:树形DP。假设你不知道重心如此强大,...原创 2019-08-09 16:33:35 · 335 阅读 · 0 评论 -
2019牛客暑期多校训练营(第二场)E MAZE(线段树维护矩阵+DP)
题目链接:https://ac.nowcoder.com/acm/contest/882/E题目大意:给一个地图,只能向左向右向下,且走过的地方不能再走,有两种操作,一种是让x y处反转,一种是问1 x到n y有几种方式。题目思路:考虑DP,dp[i][j]能由它上面一片连着的0的地方过来,而且由于走过的路不能再走,每个人只有一种走法。所以联想到矩阵乘法,通过矩阵乘法获得最后的...原创 2019-08-07 09:53:58 · 333 阅读 · 0 评论 -
HDU 4507 吉哥系列故事——恨7不成妻(数位DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4507题目大意:找出区间内不满足整数中某一位是7或整数的每一位加起来的和是7的整数倍或这个整数是7的整数倍的数的平方和题目思路:如果只是单纯的求解这种数的个数,相信都嗤之以鼻,就是一个模板题,但是这题是求平方和,应该怎么办?首先我们可以发现,如果知道前面的数字是若干数的平方和,如1^...原创 2019-09-30 21:59:33 · 291 阅读 · 1 评论 -
Codeforces Round #383 (Div. 1) B. Arpa's weak amphitheater and Mehrdad's valuable Hoses(分组背包+并查集)
题目链接:http://codeforces.com/problemset/problem/741/B题目大意:给出每个人的体重和颜值,有很多好友团,每个好友团要么一起来要么最多来一个人,在有体重限制的情况下,颜值最多为多少?题目思路:把有分组背包这事忘得一干二净..越变越菜了.....如果知道分组背包的话,这题就是个超级大水题(虽说题意理解错了还以为一定要连着的才能当好友...原创 2019-08-13 20:01:38 · 177 阅读 · 0 评论 -
Codeforces Round #459 (Div. 1)B. MADMAX(博弈+记忆化搜索)
题目链接:https://codeforces.com/contest/917/problem/B题目大意:给一张有向图,每条边有个字母,只能延ascii码非递减方向跑,输出n*n矩阵表示先手在i,后手在j的先手胜负情况。题目思路:讲道理,直接自闭。刚开始设的dp[i][j][k]表示先手在i,后手在j,k表示这步是i走还是j走,到目前的ascii码在递归函数里记,结果一直过不...原创 2019-09-04 23:57:11 · 204 阅读 · 0 评论 -
The Preliminary Contest for ICPC Asia Nanjing 2019 ICPC徐州站网络赛 J Random Access Iterator(树形DP+概率DP)
题目链接:https://nanti.jisuanke.com/t/41392题目大意:每次dfs随机选择儿子中的一个,选择儿子的个数次,问最终能得到正确的树深度的概率题目思路:榜好像歪了啊,感觉这题贼水啊...同校大佬在我们9题后过了三分钟就一发过了这题,直接罚时压我们一头自闭啊...他们过了才发现这题结果来不及写了,有点难受,还是前期做太慢+太信任榜没有积极开题..正着...原创 2019-09-07 23:24:05 · 297 阅读 · 2 评论 -
The Preliminary Contest for ICPC Asia Nanjing 2019 ICPC徐州站网络赛 A Who is better?(打表+拓展中国剩余定理+博弈)
题目链接:https://nanti.jisuanke.com/t/41383题目大意:给出一大堆m和c,保证n%m=c,然后背景是有n个士兵,有两个家伙,第一个家伙第一轮可以揍1~n-1个士兵,假设他揍了x个,那么第二个人能揍士兵的范围是1~2*x,接下来每一轮能揍的士兵数量都是1~2*上一个家伙揍人的数量,问最后一个士兵是谁揍的题目思路:求n是拓展中国剩余定理模板,这里按下...原创 2019-09-08 00:15:00 · 372 阅读 · 0 评论 -
2018-2019 ACM-ICPC, Asia East Continent Finals I. Misunderstood … Missing(dp)
题目链接:https://codeforces.com/gym/102056/problem/I题目大意:一共有n轮游戏,有A和D,A是每一轮的基础攻击值,D是每一轮基础攻击值增加的值,每一轮可以有三个操作,第一个是发动攻击,可以在原来攻击的基础上得到ai增幅,第二个是增加D,第三个是增加A,问最大攻击量题目思路:首先可以发现,只有操作1才是真正能够打出伤害对答案做出贡献的,但...原创 2019-09-10 21:43:25 · 319 阅读 · 0 评论 -
Codeforces Beta Round #51 D Beautiful numbers(数位dp+离散化)
题目链接:https://codeforces.com/contest/55/problem/D题目大意:求l到r中所有满足能被自己非0的数位整除的数字个数题目思路:数位dp入门,准备从0开始学一下数位dp。这个题目感觉非常巧妙,首先被所有数位整除,就需要想到一个事情,最小的满足能被多个数字整除的数字,是什么?没错,就是他们的最小公倍数,1~9的最小公倍数是2520,也就是所有...原创 2019-09-25 21:37:38 · 172 阅读 · 0 评论 -
HDU 3709 Balanced Number(数位DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3709题目大意:如果一个数字选择一个数作为轴,这个被选中数字的左边的价值等于左边每个数位*到选中数字的距离加和与右边的价值(等于由边每个数位*到选中数字的距离加),称为一个平衡数,问区间内有多少平衡数题目思路:若一个数字是一个平衡树,那么其一定只有一个轴,因为假设其中一个数字是它的平...原创 2019-09-28 09:31:23 · 181 阅读 · 0 评论 -
HDU 4352 XHXJ's LIS(数位dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4352题目大意:求l到r中有多少数字满足LIS长度=k题目思路:感觉这个题特别有意思,结合了lis nlogn做法和数位dp,首先得知道一个事情,就是nlogn的做法是找到大于等于当前数的第一个位置,把那个位置上的数改成当前数(不会的去找博客学一下),在这题里,直接就是要插入的数字往...原创 2019-09-29 21:08:10 · 215 阅读 · 0 评论 -
SEERC 2018 I Inversion(dp or 记忆化搜索)
题目链接:https://codeforces.com/group/xrTA2IaQje/contest/254611/problem/I题目大意:对一个1~n序列中,逆序的点连边,问能满足选中的点内部无边,但是外部的点至少与选中的点其中一个有边的边集数量题目思路:方法1:dp首先先还原出序列,由于只有100个点,可以n^2暴力还原。用一个数组in记录入度,对于给出的边...原创 2019-10-05 18:50:42 · 325 阅读 · 0 评论 -
牛客小白月赛7 J 方格填色(状压DP+矩阵快速幂)
题目链接:https://www.nowcoder.com/acm/contest/190/J 题目大意:给一个m*n的方格,每个格子可以是黑色或白色,要求左右相邻两格不能同时为白色,且相邻两列不能全为黑色,问可以有几种情况数。 题目思路:由于数据范围1<=m<=5,1<=n<=1e18,所以很容易看出是状压dp。由于他要求的都是对于两列之间,也就是说行之间...原创 2018-09-20 20:53:57 · 494 阅读 · 0 评论 -
VK Cup 2015 - Round 2 (unofficial online mirror, Div. 1 only) B Work Group(树形DP)
题目链接:https://codeforces.com/contest/533/problem/B题目大意:给一棵树,选择几个点使他们的权值和最大,要求每个点都要有偶数个子节点(可以不是直接的子节点)题目思路:树形DP,输入每个点的父亲和权值,然后跑DP。首先dp[x][0]=0,dp[x][1]=-inf,前者表示偶数,后者表示奇数,这步的原因是说,我们在下面进行子树之间dp...原创 2019-08-06 18:45:12 · 365 阅读 · 0 评论 -
2016年浙江省赛B ZOJ 3937 More Health Points(树上dfs+斜率优化+可持久化维护凸壳)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5546题目大意:给一棵有向树,任选一节点i,从j节点出去,权值为val[i]*1+val[i+1]*2+......+val[i+j-1]*j,也可以选择不进入,求最大权值。题目思路:首先先考虑如果不在树上,如何解决此题。对于一个序列,求val[i]...原创 2019-07-28 14:05:54 · 391 阅读 · 0 评论 -
2019牛客暑期多校训练营(第二场)B Eddy Walker 2(杜教BM)
题目链接:https://ac.nowcoder.com/acm/contest/882/B题目大意:一个人随机走1~k步,问正好走到n点的概率为多少题目思路:难点在于n极大,其dp方程非常基础。意思就是说能由前k步转移过来,转移过来的概率是然后就可以用神器杜教BM发现一定要推入2*k项,少一项都不行对于n取无穷大的情况,由于每一次的期望是由等差数列公式...原创 2019-08-05 21:42:11 · 384 阅读 · 0 评论 -
Codeforces Round #290 (Div. 2)D. Fox And Jumping(DP)
题目链接:https://codeforces.com/contest/510/problem/D 题目大意:有n个数字,每个数字都有对应的价值,得到这个数字后可以无限走数字对应的步数,问最少花多少钱可以到任意地方 题目思路:由于可以到任何地方,所以需要得到的数字可以通过加减变成1,也就是需要gcd是1。也就是在n个数挑出几个数使得他们的gcd是1且价值和最小。可以直接暴力dp。对...原创 2019-02-15 21:43:01 · 364 阅读 · 0 评论 -
HDU 1074(状压dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题目大意:给一堆作业的ddl和所需完成时间,如果超时就要多花1的代价,问最后最少需要花多少代价,并输出完成作业的顺序。 题目思路:状压dp,用连续15位表示作业完成情况,1为做了,0为没做,然后从1到(1<<n)-1,通过思考可以发现,多数字的情况出现时,比它少一个数...原创 2019-02-08 12:39:38 · 302 阅读 · 0 评论 -
Codeforces Round #536 (Div. 2) E. Lunar New Year and Red Envelopes
题目链接:https://codeforces.com/contest/1106/problem/E 题目大意:一共有n时间,有k个红包,每个红包能在si~ti时间内出现,里面有wi的钱,取完后要到di后才能继续取红包,有个人可以m次阻挠,问最后能拿到最少的钱是多少。 题目思路:采用dp,一个时间点有三种情况,没红包可拿,拿了红包,跳了红包。所以设置dp[i][j],i表示前is用...原创 2019-02-05 22:04:58 · 213 阅读 · 0 评论 -
POJ 2288(Hamilton路径)
题目链接:http://poj.org/problem?id=2288 题目大意:给n个点,求经过每个点且只经过一次后得到的最大权值,并给出能得到最大权值的Hamilton路径数量,倒过来算一条。权值的计算有三类,第一类是所有点的权值的和,第二类是一条路径上两个点权值的乘积,第三类是如果有三个点能组成三角形(a能到达b,b能到达c,c能到达a),那么权值在加上三个点的权值乘积 题目...原创 2018-10-22 21:23:56 · 379 阅读 · 0 评论 -
ACM-ICPC 2018 焦作赛区网络预赛 B Mathematical Curse(DP)
题目链接:https://nanti.jisuanke.com/t/31711 题目大意:n个数字,m个运算符,按照顺序插入运算符,使得最后计算的结果最大 题目思路:普通dp,dpmax[i][j]表示第i个数字用到第j个运算符的最大值。这题不但需要维护最大值还需要维护最小值,因为可能乘以一个负数,极小值乘以一个负数后可能成为最大值,反之亦成立,除法也是一个道理,然后一路维护即可...原创 2018-09-27 21:35:54 · 195 阅读 · 0 评论 -
ACM-ICPC 2018 焦作赛区网络预赛 K Transport Ship(多重背包)
题目链接:https://nanti.jisuanke.com/t/31720 题目大意:n个船,每个船载重vi,数量2^ci-1,问载重正好是s有几种情况 题目思路:由于固定了数量,所以很容易想到是多重背包。问的是方案数,所以设dp[0]为1,剩下来初始化为0,然后上去跑多重背包板子就过了 以下是代码:#include<bits/stdc++.h>us...原创 2018-09-27 20:24:49 · 245 阅读 · 0 评论
分享