区间DP
sunyutian1998
这个作者很懒,什么都没留下…
展开
-
Brackets POJ - 2955
http://poj.org/problem?id=2955枚举出左右端点i j后 如果ij正好是一对括号 那就将dp[i][j]从dp[i+1][j-1]先转移过来 因为只有这种情况会产生更长的合法序列然后就是区间DP的套路 枚举一下中点即可#include <cstdio>#include <cstring>#include <algori...原创 2019-03-14 09:30:44 · 137 阅读 · 0 评论 -
Multiplication Puzzle POJ - 1651
http://poj.org/problem?id=1651枚举出i j后 再枚举中点即可 显然最后剩下的两个数是第一个和最后一个 输出dp[1][n]即可#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn=1e...原创 2019-03-14 09:40:45 · 151 阅读 · 0 评论 -
QSC and Master HDU - 5900
http://acm.hdu.edu.cn/showproblem.php?pid=5900区间dp 关键是怎么判断i与j能否变为相邻元素 即判断[i+1,j-1]内的元素能否两两配对消去其实如果[i+1,j-1]全部可以消去 那dp数组中表示该区间的元素一定等于该区间数值之和一开始居然智障的判了一下[i,j]所有元素的gcd是否为1。。#include <cs...原创 2019-03-02 16:06:19 · 155 阅读 · 0 评论 -
String painter HDU - 2476
http://acm.hdu.edu.cn/showproblem.php?pid=2476先区间DP算出将空串变为B的代价如果说B串每个字符都不相同 那代价肯定是串长度 能减小代价的地方就是abcba这样的串一层一层的涂 也就是说对两个相同的字符b[i] b[j] 先将[i,j]都涂成一个颜色 然后考虑涂[i+1,j-1] 所以区间DP时就从两个相同字符着手 算dp[i][j]时 就看...原创 2019-03-14 17:51:47 · 191 阅读 · 0 评论 -
You Are the One HDU - 4283
http://acm.hdu.edu.cn/showproblem.php?pid=4283dp[i][j]代表只考虑i到j的最小怒气值 dp[i][j]从dp[i+1][j]转移过来 枚举i插在什么位置即可#include <cstdio>#include <cstring>#include <algorithm>using namesp...原创 2019-03-15 09:45:34 · 174 阅读 · 0 评论 -
Halloween Costumes LightOJ - 1422
http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1422dp[i][j]代表从i到j派对最少几套衣服 转移方程 dp[i][j]=min(dp[i][j],dp[i+1][k-1]+dp[k][j])注意不能写成 dp[i][j]=min(dp[i][j],dp[i+1][k-1]+dp[k+1][j...原创 2019-03-15 10:07:14 · 104 阅读 · 0 评论 -
Food Delivery ZOJ - 3469
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3469按区间DP做 dp[i][j][0]代表i到j都处理完后停在左端i处dp[i][j][1]代表停在右端j处转移方程如下dp[i][j][0]=min(dp[i][j][0],dp[i+1][j][0]+(ary[i+1].pos-ary[i].pos)*(...原创 2019-03-15 15:29:47 · 173 阅读 · 0 评论 -
Removal Game Gym - 101196F
http://codeforces.com/gym/101196/attachments区间dp裸题 因为是个环 要将数组对接一下因为是个环 所以最后两个元素的位置是不一定的 暴力枚举一下最后两个元素的位置 并顺手删去即可#include <cstdio>#include <cstring>#include <algorithm>usi...原创 2019-04-03 09:20:33 · 262 阅读 · 2 评论 -
Cake ZOJ - 3537
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3537学会了求凸包 其实就是单调栈的思想 详见https://blog.csdn.net/codeswarrior/article/details/81327277然后就是裸的凸多边形三角划分 区间DP即可#include <bits/stdc++....原创 2019-04-18 09:57:36 · 192 阅读 · 0 评论