1260: [CQOI2007]涂色paint

Time Limit: 30 Sec  Memory Limit: 64 MB Submit: 1575  Solved: 955 [Submit][Status][Discuss]

Description

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

Input

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

Output

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

Sample Input

Sample Output

【样例输入1】
AAAAA

【样例输入1】
RGBGR

【样例输出1】
1

【样例输出1】
3

HINT

40%的数据满足:1<=n<=10 100%的数据满足:1<=n<=50

设f[i][j]表示区间i到j的答案

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdlib>
 4 #include<cstdio>
 5 #include<cmath>
 6 #include<algorithm>
 7 using namespace std;
 8 int n;
 9 char s[100];
10 int f[55][55];
11 int main(){
12     memset(f,97,sizeof(f));
13     scanf("%s",s+1);
14     n=strlen(s+1);
15     for(int i=1;i<=n;i++) f[i][i]=1;
16     for(int j=1;j<=n;j++){
17         for(int i=1;i+j<=n;i++){
18             if(s[i]==s[i+j]) f[i][i+j]=min(f[i+1][i+j],f[i][i+j-1]);
19             else for(int k=i;k<i+j;k++) f[i][i+j]=min(f[i][k]+f[k+1][i+j],f[i][i+j]);
20         }
21     }
22     printf("%d",f[1][n]);
23 }

View Code

转载于:https://www.cnblogs.com/wls001/p/7608663.html

[BZOJ1260][CQOI2007]涂色paint 区间dp相关推荐

  1. 【题解】 bzoj1260: [CQOI2007]涂色paint (区间dp)

    bzoj1260,懒得复制,戳我戳我 Solution: 这种题目我不会做qwq,太菜了 区间打牌(dp) 用f[l][r]表示从l到r最少需要染几次色. 状态转移方程: 1.\(f[l][r]=mi ...

  2. bzoj 1260: [CQOI2007]涂色paint(区间DP)

    1260: [CQOI2007]涂色paint Time Limit: 30 Sec  Memory Limit: 64 MB Submit: 1681  Solved: 1018 [Submit][ ...

  3. [CQOI2007]涂色PAINT

    题意: 给你目标字符串的状态,现可以将连续一段字符串染色,求最小的染色次数 题解: 我们定义dp[i][j]是区间i到区间j最小的涂色次数 区间dp的核心思想实际上是由一个个小区间进行合并成为大区间, ...

  4. 【动态规划】P4170 :涂色(区间dp)

    初始化: 因为要求 最小值,所有dp初始化为INF 当区间长度为1时,dp为1 枚举时先枚举小区间 #include<iostream> #include<cstring> # ...

  5. BZOJ 1260:[CQOI2007]涂色paint

    (⊙o⊙)-,常规课考试又炸了!目测此次我要完蛋了... 又玩脱了,考数学的时候装B装大了! 算了,先进入正题... 题目描述: Description 假设你有一条长度为5的木版,初始时没有涂过任何 ...

  6. P4170-[CQOI2007]涂色【区间dp】

    正题 题目链接:https://www.luogu.com.cn/problem/P4170 题目大意 给出长度为nnn的串目标串,每次可以在一连续的区间覆盖同种字符,求最少覆盖次数. 解题思路 我们 ...

  7. 算法学习 区间dp 涂色PAINT

    题目链接: 牛客网 涂色PAINT 这是一道区间dp题,题目有小错误,字符串的长度不是5,而是小于1005的长度. 定义:f[i][j] 为区间[i,j]需要涂色最少的次数 我们可以发现这样一件事:我 ...

  8. 【算法•日更•第三十期】区间动态规划:洛谷P4170 [CQOI2007]涂色题解

    废话不多说,直接上题:  P4170 [CQOI2007]涂色 题目描述 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂上红.绿.蓝.绿.红色,用一个长度为5的字符 ...

  9. 【每日一题】涂色PAINT

    涂色PAINT:区间dp https://ac.nowcoder.com/acm/problem/19909 思路:和取数游戏一样设置dp状态. 设置状态: 表示区间涂[i,j]需要的最少次数. 状态 ...

最新文章

  1. 不同版本浏览器前端标准兼容性对照表以及CORS解决跨域和CSRF安全问题解决方案
  2. 字符串创建XML文档
  3. ARTS打卡计划第一周-Share-系统字典模块的设计
  4. linux系统运行状态检查
  5. 使用POI将doc文件转换为html
  6. MySQL Schema设计(三)利用Python操作Schema
  7. AlertBox 弹出层(信息提示框)效果
  8. 把日出拍成大片的手机!大光圈+黑白彩色双摄到底有多强?
  9. 你是在用计算机算你的人生经历吗,计算机人生规划
  10. Adobe宣布Flex Builder将更名为Flash Builder
  11. Java内存原型分析:基本知识
  12. LeetCode Factorial Trailing Zeroes (阶乘后缀零)
  13. wpf 深度复制控件,打印控件
  14. 手机上python编程工具3h是_qPython 3h下载
  15. robot_localization 源码解析(1)ekf_localization_node
  16. 2022QS榜单发布!计算机专业排名MIT霸榜,清华排15,北大跌出TOP20
  17. 使用 cajViewer 将 caj文件 转换 pdf文件
  18. InstallShield软件详解
  19. 2021-02-22
  20. 7.选择结构之switch结构

热门文章

  1. 数据访问模式二:数据集和数据适配器(传统的数据访问模式)
  2. awk收不到数据的问题
  3. ubuntu 18.10无法locate boot-repair
  4. intellij导入文件夹后各种红色cannot resolve symbol
  5. 通俗讲清楚为什么使用信息熵增益比而不是信息熵增益?
  6. 泛型算法STL中的迭代器,泛型算法,萃取机的一个实现案例
  7. python函数参数为类对象_将Cython类对象作为参数传递给C函数
  8. html业内响应,html5页面
  9. Oracle报错:类型长度大于最大值解决办法
  10. 微服务中集成分布式配置中心 Apollo