当前位置: 首页 > news >正文

BZOJ 1260: [CQOI2007]涂色paint【区间DP】

1260: [CQOI2007]涂色paint

Time Limit: 30 Sec Memory Limit: 64 MB

Description

假设你有一条长度为5的木版,初始时没有涂过任何颜色。你希望把它的5个单位长度分别涂上红、绿、蓝、绿、红色,用一个长度为5的字符串表示这个目标:RGBGR。 每次你可以把一段连续的木版涂成一个给定的颜色,后涂的颜色覆盖先涂的颜色。例如第一次把木版涂成RRRRR,第二次涂成RGGGR,第三次涂成RGBGR,达到目标。 用尽量少的涂色次数达到目标。

Input

输入仅一行,包含一个长度为n的字符串,即涂色目标。字符串中的每个字符都是一个大写字母,不同的字母代表不同颜色,相同的字母代表相同颜色。

Output

仅一行,包含一个数,即最少的涂色次数。

Sample Input

Sample Output

【样例输入1】
AAAAA

【样例输入1】
RGBGR

【样例输出1】
1

【样例输出1】
3

题解

典型的区间DP,也可以记忆化DFS,其实是一个原理,我们设f[i][j]f[i][j]表示涂了[i,j][i,j]这个区间的最优解,那么就可以分类讨论了。
如果s[i]==s[j]s[i]==s[j]那么就可以将s[i]s[i]这种颜色当底色涂,f[i][j]=min(min(f[i][j1],f[i+1][j]),f[i+1][j1]+1)f[i][j]=min(min(f[i][j−1],f[i+1][j]),f[i+1][j−1]+1)
否则就枚举个k,f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]);f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]);

转载于:https://www.cnblogs.com/XSamsara/p/9059432.html

相关文章:

  • Java浅克隆和深克隆
  • C#注册OCX控件
  • Hibernate 一对一关联映射,mappedBy参数解析
  • range.FormulaR1C1属性
  • java学习--基础知识进阶第十天--笔记
  • 七、数据库技术的发展及新技术
  • C语言实现过滤ASCII在0~127范围内的字符,并去除重复的字符
  • JAVA gc垃圾回收机制
  • C#任意格式字符串转化为datetime格式
  • Jquery 遍历数组之$().each方法与$.each()方法介绍
  • kafka集群搭建
  • 《人月神话》读书笔记 第四周
  • py网络爬虫基础练习
  • 解决导入TensorFlow后出现警告的的问题解决:通过降低numpy的版本
  • mongodb的安装和sql操作
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • css选择器
  • Debian下无root权限使用Python访问Oracle
  • EOS是什么
  • EventListener原理
  • IDEA常用插件整理
  • Less 日常用法
  • Python打包系统简单入门
  • select2 取值 遍历 设置默认值
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • Vim 折腾记
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 基于Android乐音识别(2)
  • 排序(1):冒泡排序
  • 用Python写一份独特的元宵节祝福
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​queue --- 一个同步的队列类​
  • # 安徽锐锋科技IDMS系统简介
  • #1015 : KMP算法
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (10)STL算法之搜索(二) 二分查找
  • (2.2w字)前端单元测试之Jest详解篇
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (四) Graphivz 颜色选择
  • (五)c52学习之旅-静态数码管
  • (五)关系数据库标准语言SQL
  • (转)C#调用WebService 基础
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .Net MVC + EF搭建学生管理系统
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .Net环境下的缓存技术介绍