区间dp
newhonor
可以不伟大,但不能卑微
展开
-
D. Flood Fill
http://codeforces.com/contest/1114/problem/D 题意:连续相同颜色的格子为连通块,选一个起点,每次可以改变相邻的块的颜色,问几次可以使得全部颜色一样; 思路:1.区间dp,dp[l][r][0]表示l-r颜色为Cl,dp[l][r][1]表示l-r颜色为Cr; 2.求出最长回文子序列,以此为起点最优; #includ...原创 2019-02-27 22:44:32 · 610 阅读 · 0 评论 -
Palindrome subsequence
http://acm.hdu.edu.cn/showproblem.php?pid=4632 题意:求回文子序列的个数 思路:区间dp;dp[i][j]表示区间【i,j】的回文序列数目;转移方程:s[i]==s[j]区间[i+1,j-1]加一贡献,然后就是[i+1,j]区间加上 [i,j-1]区间的贡献;要容斥处理中间重复的; #include<algorithm> #in...原创 2019-05-29 15:30:07 · 132 阅读 · 0 评论 -
746-整数划分(四)
http://nyoj.top/status 题意:给n,m;问n中插入m-1个乘号最大多少; 思路:dp[i][j]表示1-i位置插入j个乘号最大值;转移方程:dp[i][j]=max(dp[i][j],dp[k][j-1]*num[k+1][i])(1=k<i);num[i][j]表示区间i-j的数值; #include<algorithm> #include<...原创 2019-05-29 14:58:59 · 156 阅读 · 0 评论 -
Multiplication Puzzle
http://poj.org/problem?id=1651 题意:给你n个数字,要求不能删除两端点的数字,删除其他数字的代价是该数字和左右相邻数字的乘积,问把数字(除端点)删完后的最小总代价; 总结:区间断点是最后删除的数,最好手动画图枚举一下区间怎么更新; #include<algorithm> #include<set> #include<queue&...原创 2019-05-28 22:11:41 · 112 阅读 · 0 评论 -
Brackets
http://poj.org/problem?id=2955 题意:()[]匹配的最长子序列; 总结:区间dp,因为从小区间开始更新,当i,j匹配时dp[i][j]=dp[i+1][j-1]+2; #include<algorithm> #include<set> #include<queue> #include<cmath> #inclu...原创 2019-05-28 21:06:50 · 79 阅读 · 0 评论 -
1022石子归并V2
http://www.51nod.com/Challenge/Problem.html#!#problemId=1022 环形石子归并; 总结:还是拉成连;要四边形优化成n^2; 四边形优化: 满足:a<b<=c<d且f[a][c]+f[b][d]<=f[a][d]+f[b][c]时可以用; 使用:s[i][j-1]<=s[i][j]<=s[i+1]...原创 2019-05-28 20:30:12 · 183 阅读 · 0 评论 -
2102 石子归并 2
http://codevs.cn/problem/2102/ 题意:环形石子归并 思路:加倍后直接区间dp(无优化n^3) #include<algorithm> #include<set> #include<queue> #include<cmath> #include<cstring> #include<iostream...原创 2019-05-28 19:57:46 · 163 阅读 · 0 评论 -
石子归并
https://www.51nod.com/Challenge/ProblemSubmitDetail.html#!#judgeId=753944 区间dp复习一下 #include<algorithm> #include<set> #include<queue> #include<cmath> #include<cstring> ...原创 2019-05-28 17:13:26 · 619 阅读 · 0 评论 -
分治
https://ac.nowcoder.com/acm/contest/903/C 思路:区间dp;要特判一下断点在端点的两种情况; #include<algorithm> #include<set> #include<queue> #include<cmath> #include<cstring> #include<i...原创 2019-05-28 16:57:24 · 97 阅读 · 0 评论 -
Two Rabbits
http://acm.hdu.edu.cn/showproblem.php?pid=4745 题意: 给你围成一圈的n(N<=1000)个石头的重量。顺时针给出。现在有两只选两个石头站上去。两个兔子可以站在同一块石头上。然后他们一个按顺时针一个按逆时针跳。每一步他们只能跳到重量相同的石头上(可以是同一块石头)。但自己站过的石头不能再战也不能越过。也就是最多跳一圈。现在问他们最多能进行多...原创 2019-05-29 17:59:09 · 461 阅读 · 0 评论