题目链接:https://codeforces.com/contest/608/problem/D 题意:给出n个宝石的颜色ci,现在有一个操作,就是子串的颜色是回文串的区间可以通过一次操作消去,问最少需要多少次操作可以消除所有的宝石。(每次操作消除一个回文串,最少操作次数清楚字符串) 题解:dp[ ...
分类:
其他好文 时间:
2019-04-08 01:06:54
阅读次数:
158
题目传送门 题目翻译:当我们专注于解决问题时,我们通常宁愿呆在电脑前而不是外出吃午饭。在这个时候,我们可能会要求提供食物。 假设有N个人生活在一条直线的街道上,它只是位于X坐标轴上。第i个人的坐标是Xi米。在街上有一个外围餐厅,坐标X米。在午餐时间的一天,每个人同时从餐厅接受订单。作为餐厅的工作人员 ...
分类:
其他好文 时间:
2019-04-08 01:04:44
阅读次数:
186
题意:有一排颜色的球,每次选择一个球消去,那么这个球所在的同颜色的整段都消去(和消消乐同理),若消去k个,那么得分k*k,问你消完所有球最大得分 思路:显然这里我们直接用二位数组设区间DP行不通,我们不能表示出“合并”这种情况。我们先把所有小块整理成连续的大块。 我们用click(l,r,len)表 ...
分类:
其他好文 时间:
2019-04-02 21:28:41
阅读次数:
176
题意:中文题面 思路:不知道直接暴力枚举所有情况行不行。。。 我们可以把答案转化为 所以答案就是求xi2的最小值,那么我们可以直接用区间DP来写。设dp[x1][y1][x2][y2][k]为x1 y1 到 x2 y2 区间分割为k份的最下平方和,显然k = 1是就是区间和的平方。 写了6层for, ...
分类:
其他好文 时间:
2019-04-01 21:16:37
阅读次数:
195
区间DP标准入门题目。 区间DP大概思路是这样的。 第一层枚举长度,因为我们需要从小区间一步步推到大区间 第二层枚举左端点,那么右端点就定了。 第三层枚举间断点,由间断点合并得到大区间。 这道括号匹配这个,就是入门题目。 这道题也是这样。 这道题首先要判断枚举的两个区间左右两个端点是不是匹配的。 如 ...
分类:
其他好文 时间:
2019-03-30 01:18:45
阅读次数:
176
题目链接1 题目链接2 题目大意 给出一个括号序列,添加最少的括号使序列正确 解题思路 先将问题简单化,从求序列退化为求最小添加括号数的问题 用区间dp n³解决 f[l][r]表示使第l个到r个区间正确的最小添加数 1 :当l = r时, f[l][r] = f[l+1][r-1] 2 : 在l到 ...
分类:
其他好文 时间:
2019-03-30 01:18:32
阅读次数:
146
Brackets Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 35049 Accepted: 10139 Special Judge Description Let us define a regular b ...
分类:
其他好文 时间:
2019-03-25 14:45:57
阅读次数:
159
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=746 题目大意:给出两个整数 n , m ,要求在 n 中加入m - 1 个乘号,将n分成m段,求出这m段的最大乘积 具体思路:首先用一个数组a[i][j]表示这个字符串从第i个位置到第j个 ...
分类:
其他好文 时间:
2019-03-14 18:41:05
阅读次数:
165
E. Vasya and Binary String 链接 分析: 对于长度为x的一段序列,我们可以dp出消除的过程的最优方案,背包即可。 然后区间dp,可以先合并完所有的点,即没相同的一段区间合并为一个点。设f[i][j][k]表示消完区间[i,j]和这段区间后面k个元素最大值,其中k个元素的颜色 ...
分类:
其他好文 时间:
2019-03-10 22:19:13
阅读次数:
192
#include<bits/stdc++.h>typedef long long ll;const int inf=0x3f3f3f3f;using namespace std;char b[507];int dp[507][507];int main(){ memset(dp,0x3f,sizeo ...
分类:
其他好文 时间:
2019-03-07 01:03:44
阅读次数:
188