HDU 6212 Zuma 2017青岛网络赛 区间DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6212
解法;看了眼题就发现这个BZOJ 1032不是一毛一样?但是BZOJ上那是个巨坑,数据有错,原来A的是一个假题。。2333,但是我并不知道POJ上也有这个题2333。。。网赛现场没做出来,感觉现场做出来的很多都知道这个题是原题吧。。参考这个论文:http://www.docin.com/p-685411874.html
解法:这个题主要是区间DP的转移怎么写?
有三种消除方式:
1.直接将区间分成两部分,各消各的。
2.如果两头是同色的,可以消完中间的,合并后消去两头,代价和两头的数量有关。
3.如果两头同色,又存在一头只有一个连续的情况,可以中间再找一个相同颜色的,三个合并后再消。
代码不难写出来:
#include <bits/stdc++.h>
using namespace std;
const int maxn = 222;
int a[maxn], dp[maxn][maxn];
char s[maxn]; int main()
{
int T, ks=0;
scanf("%d", &T);
while(T--){
scanf("%s", s);
int len = strlen(s);
int m = 0;
a[++m] = 1;
for(int i=1; i<len; i++){
if(s[i] != s[i-1]) a[++m] = 0;
a[m]++;
}
for(int i=m; i>0; i--){
for(int j=i; j<=m; j++){
if(i==j){
dp[i][j] = 3-a[i];
continue;
}
dp[i][j] = 0x70;
for(int k=i; k<j; k++){
dp[i][j] = min(dp[i][j], dp[i][k]+dp[k+1][j]);//分成2半来做
}
if((j-i)&1) continue; //间隔为奇数,则不是同种颜色
dp[i][j] = min(dp[i][j], dp[i+1][j-1]+(a[i]+a[j]==2));//i和j同色,可以等中间消掉,如果两边都是1还得加上1的代价
if(a[i]+a[j] < 4){
for(int k=i+2; k<j; k+=2)
if(a[k] == 1) dp[i][j] = min(dp[i][j], dp[i+1][k-1]+dp[k+1][j-1]);
}
}
}
printf("Case #%d: %d\n", ++ks, dp[1][m]);
}
return 0;
}
HDU 6212 Zuma 2017青岛网络赛 区间DP的更多相关文章
- HDU 6201 2017沈阳网络赛 树形DP或者SPFA最长路
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6201 题意:给出一棵树,每个点有一个权值,代表商品的售价,树上每一条边上也有一个权值,代表从这条边经过 ...
- 2017青岛网络赛1011 A Cubic number and A Cubic Number
A Cubic number and A Cubic Number Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/3276 ...
- 2017青岛网络赛1008 Chinese Zodiac
Chinese Zodiac Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) T ...
- 2017 青岛网络赛 Chenchen, Tangtang and ZengZeng
Chenchen, Tangtang and ZengZeng are starting a game of tic-tac-toe, played on a 3 × 3 board. Initial ...
- hdu 4274 2012长春赛区网络赛 树形dp ***
设定每个节点的上限和下限,之后向上更新,判断是否出现矛盾 #include<cstdio> #include<iostream> #include<algorithm&g ...
- hdu 4028 2011上海赛区网络赛H dp+map离散
一开始用搜索直接超时,看题解会的 #include<iostream> #include<cstdio> #include<map> #include<cst ...
- HDU 5880 Family View (2016 青岛网络赛 C题,AC自动机)
题目链接 2016 青岛网络赛 Problem C 题意 给出一些敏感词,和一篇文章.现在要屏蔽这篇文章中所有出现过的敏感词,屏蔽掉的用$'*'$表示. 建立$AC$自动机,查询的时候沿着$fa ...
- hdu 6152 : Friend-Graph (2017 CCPC网络赛 1003)
题目链接 裸的结论题.百度 Ramsey定理.刚学过之后以为在哪也不会用到23333333333,没想到今天网络赛居然出了.顺利在题面更改前A掉~~~(我觉得要不是我开机慢+编译慢+中间暂时死机,我还 ...
- 2017北京网络赛 J Pangu and Stones 区间DP(石子归并)
#1636 : Pangu and Stones 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 In Chinese mythology, Pangu is the fi ...
随机推荐
- web接口测试中需要测试的几个点
本文导读: web接口测试用例要包括欲测试的功能.应输入的数据和预期的输出结果,只有在数据能正确流入.流出模块的前提下,其他测试才有意义.下面介绍在web测试接口时一些需要注意的点 1.接口返回 数据 ...
- oracle 恢复误删数据
快照 select * from sys_info as of timestamp to_Date('2014-04-08 15:28:00', 'yyyy-mm-dd hh24:mi:ss') ...
- [AT2401] [arc072_e] Alice in linear land
题目链接 AtCoder:https://arc072.contest.atcoder.jp/tasks/arc072_c 洛谷:https://www.luogu.org/problemnew/sh ...
- BZOJ 2745: [HEOI2012]Bridge
2745: [HEOI2012]Bridge Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 199 Solved: 90[Submit][Statu ...
- Java之Stream流
Stream流的初步学习 初次学习Stream流的学习笔记,学习之前先了解一下函数式接口 概述 API是一个程序向使用者提供的一些方法,通过这些方法就能实现某些功能.所以对于流API来 说,重点是怎么 ...
- bashttpd使用手册
http://note.youdao.com/noteshare?id=15775dca9fcdc7326e80158082572ed5
- Kubernetes PV/PVC使用实践
转载于https://www.cnblogs.com/ericnie/p/7733281.html pv,pvc的概念不解释了,之前在registry中已经使用过PV和PVC,现在想把WebLog ...
- 「Vue」v-on修饰符
修饰符stop阻止冒泡 --> <!-- <div id="myvue" @click="divc" class="d1" ...
- IntelliJIDEA永久注册使用
1. 首先下载本地IntelliJIDEA注册服务机(没有密码哦) http://pan.baidu.com/s/1hsyZp0C 2.解压后进入解压的文件夹,找到自己操作系统对应的版本,我这里使用 ...
- 很受欢迎的vue前端UI框架
最近在逛各大网站,论坛,SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,小编自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在做自己 ...