【题解】 bzoj1260: [CQOI2007]涂色paint (区间dp)
bzoj1260,懒得复制,戳我戳我
Solution:
这种题目我不会做qwq,太菜了
区间打牌(dp)
- 用f[l][r]表示从l到r最少需要染几次色。
状态转移方程:
1.\(f[l][r]=min(f[l][i],f[i+1][r]) (l<=i<r)\) 这段染色等于俩段分别染色,很好看出来。
2.\(if(s[l]==s[r]) f[l][r]=min(min(f[l+1][r],f[l][r+1]),f[l+1][r-1])\)。- 分俩种一可以直接涂上俩端点,2是可以忽略掉左端点和右端点。
- 第2点作用是很关键的,它会解决类似\(ABACDA\)之类的问题。忽略掉一段端点之后就可以继续找俩个端点进行染色。
为什么是对的呢?因为最后无论如何都一个节点都需要涂一次,所有的同色的端点就也被涂了。
转载的博客
Code:
//It is coded by Ning_Mew on 5.22
#include<bits/stdc++.h>
using namespace std;const int maxn=55;int n;
string s;
int dp[maxn][maxn];int main(){cin>>s;n=s.length();memset(dp,0x5f,sizeof(dp));for(int i=0;i<n;i++){dp[i][i]=1;}for(int len=2;len<=n;len++){for(int i=0;i<=n-len;i++){int ss=i,tt=i+len-1;if(s[ss]==s[tt])dp[ss][tt]=min(dp[ss][tt-1],dp[ss+1][tt]);if(s[ss]==s[ss+1])dp[ss][tt]=min(dp[ss][tt],dp[ss+1][tt]);if(s[tt]==s[tt-1])dp[ss][tt]=min(dp[ss][tt],dp[ss][tt-1]);for(int k=ss;k<tt;k++)dp[ss][tt]=min(dp[ss][tt],dp[ss][k]+dp[k+1][tt]);}}printf("%d\n",dp[0][n-1]);return 0;
}
转载于:https://www.cnblogs.com/Ning-Mew/p/9072844.html
【题解】 bzoj1260: [CQOI2007]涂色paint (区间dp)相关推荐
- [BZOJ1260][CQOI2007]涂色paint 区间dp
1260: [CQOI2007]涂色paint Time Limit: 30 Sec Memory Limit: 64 MB Submit: 1575 Solved: 955 [Submit][S ...
- bzoj 1260: [CQOI2007]涂色paint(区间DP)
1260: [CQOI2007]涂色paint Time Limit: 30 Sec Memory Limit: 64 MB Submit: 1681 Solved: 1018 [Submit][ ...
- [CQOI2007]涂色PAINT
题意: 给你目标字符串的状态,现可以将连续一段字符串染色,求最小的染色次数 题解: 我们定义dp[i][j]是区间i到区间j最小的涂色次数 区间dp的核心思想实际上是由一个个小区间进行合并成为大区间, ...
- 【动态规划】P4170 :涂色(区间dp)
初始化: 因为要求 最小值,所有dp初始化为INF 当区间长度为1时,dp为1 枚举时先枚举小区间 #include<iostream> #include<cstring> # ...
- BZOJ 1260:[CQOI2007]涂色paint
(⊙o⊙)-,常规课考试又炸了!目测此次我要完蛋了... 又玩脱了,考数学的时候装B装大了! 算了,先进入正题... 题目描述: Description 假设你有一条长度为5的木版,初始时没有涂过任何 ...
- P4170-[CQOI2007]涂色【区间dp】
正题 题目链接:https://www.luogu.com.cn/problem/P4170 题目大意 给出长度为nnn的串目标串,每次可以在一连续的区间覆盖同种字符,求最少覆盖次数. 解题思路 我们 ...
- 【算法•日更•第三十期】区间动态规划:洛谷P4170 [CQOI2007]涂色题解
废话不多说,直接上题: P4170 [CQOI2007]涂色 题目描述 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂上红.绿.蓝.绿.红色,用一个长度为5的字符 ...
- 算法学习 区间dp 涂色PAINT
题目链接: 牛客网 涂色PAINT 这是一道区间dp题,题目有小错误,字符串的长度不是5,而是小于1005的长度. 定义:f[i][j] 为区间[i,j]需要涂色最少的次数 我们可以发现这样一件事:我 ...
- 洛谷P4170 [CQOI2007]涂色 题解
洛谷P4170 [CQOI2007]涂色 题解 题目链接:P4170 [CQOI2007]涂色 题意: 假设你有一条长度为 555 的木板,初始时没有涂过任何颜色.你希望把它的 555 个单位长度分别 ...
最新文章
- 【C++】google glog详解
- sublime怎么编译java_文本编辑利器:Sublime Text3 编译运行Java程序
- 解决安装centos 7后Windows启动项丢失
- Java NIO 介绍和基本demo
- c语言随机产生四位数,习题:随机产生N个四位正整数,将其中的素数选出,并升序排列之输…...
- 开源大数据周刊-第22期
- django写一个简单的登陆注册
- Oracle 10g Create Database
- VMware workstation 16 pro下载、安装(官网)
- 先锋linux 64位安装包的安装使用
- html中div圆角效果,div+css实现圆角即网页上常用的圆角效果
- matlab三角区域积分,关于复杂三角函数的二重积分,matlab该怎么求啊
- 【二分法】凸多边形外接圆的半径
- IDEA报 java 找不到符号解决办法
- 四、守护线程 deamon
- java计算某国个人所得税税率表_计算个人所得税(新版)
- 计算机access分数比例,[access查询]关于分数段统计问题
- [转]关于模糊控制的理解
- ICLR 2021 NAS 相关论文(包含Workshop)
- Google登录和内购简要说明
热门文章
- C#实现网页截图功能
- 写了一个PPT,用于公司内部培训
- html实时显示log,websocketd 实现浏览器查看服务器实时日志
- github 思维导图开元软件_画思维导图记笔记的工具软件
- cpu计算机兼容,电脑升级之CPU篇:给CPU升级主要是兼容性问题,其他方法也用不上...
- 2018usnews计算机专业排名,2018年研究生计算机专业前50排名(美USNews版)
- 铜陵新松工业机器人项目_投资10亿元,茶山德威工业机器人和精密模具项目动工...
- python画图标题_使用pyplot.matshow()函数添加绘图标题
- api 创建zookeeper客户端_zookeeper分布式锁原理及实现
- 信息技术计算机网络PPT,高中信息技术计算机网络ppt课件.ppt