喵哈哈村的打印机游戏

发布时间: 2017年3月21日 20:00   最后更新: 2017年3月21日 20:02   时间限制: 1000ms   内存限制: 128M

描述

喵哈哈村的月亮同学很无聊,于是太阳同学给月亮同学出了个问题,来打发时间:

喵哈哈村有一台奇怪的纸带打印机,每次操作只能先决定一个大写字母(A到Z)在一条纸带上打印这个字母任意长度的连续序列,打印机可以选择在纸带的任意位置开始打印,并且无论纸带上原来是什么内容,都可以用新打印的内容覆盖。那么,对一个目标的字符串序列,请计算在一个空白纸带上最少需要的打印次数。例如,我们要打印的目标串是ABCBA,那么最优的方案是:在空白知道上连续打印5个A:AAAAA,从第二个A开始,连续打印3个B:ABBBA,打印一个C:ABCBA,因此ABCBA的最少打印次数是3次。

输入

每个测试输入包含1个测试用例
输入只有一行,一个长度大于1,小于等于50的目标字符串,字符串中每个字符都是A到Z的大写英文字符。

输出

输出一个整数,

样例输入1 复制

AAAAA
ABCBA

样例输出1

1
3

查看隐藏信息
选择语言

C (GCC 4.8)  C++ (G++ 4.3)  Java (Oracle JDK 1.7)

区间DP模板题

dp[i][j]:[i,j]区间所涂颜色的最小次数

#include <stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
char s[100];
int dp[55][55],a[100];
int main()
{int i,j,k,len;while(scanf("%s",s+1)!=EOF){memset(dp,0,sizeof(dp));len=strlen(s+1);for(i=1;i<=len;i++)dp[i][i]=1;for(k=1;k<len;k++)//第一层枚举区间长度 {for(i=1;i<=len-k;i++)//第二层枚举起点{dp[i][i+k]=dp[i+1][i+k]+1;for(j=i;j<=i+k;j++)if(s[j]==s[i])dp[i][i+k]=min(dp[i][i+k],dp[i+1][j-1]+dp[j][i+k]);}}printf("%d\n",dp[1][len]);}
}

喵哈哈村的打印机游戏(区间DP)相关推荐

  1. qscoj 喵哈哈村的打印机游戏(区间dp)

    题目链接:http://www.qscoj.cn/problem/54/ 喵哈哈村的打印机游戏 发布时间: 2017年3月21日 20:00 最后更新: 2017年3月21日 20:02 时间限制: ...

  2. 圆桌游戏(区间DP)

    2.圆桌游戏 (game.cpp/c/pas) [问题描述] 有一种圆桌游戏是这样进行的:n个人围着圆桌坐成一圈,按顺时针顺序依次标号为1号至n号.对1<=i<=n的i来说,i号的左边是i ...

  3. LeetCode 664. 奇怪的打印机(区间DP)

    文章目录 1. 题目 2. 解题 1. 题目 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同一个字符 组成的序列. 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符. ...

  4. 喵哈哈村的魔法考试 Round #9 (Div.2) 题解

    A题 喵哈哈村的数据筛选游戏 题解:这道题签到题,拿个数组记录一下这个数是否出现过即可. #include<bits/stdc++.h> using namespace std; cons ...

  5. 【区间DP+高精】codevs1166 矩阵取数游戏题解

    转自: [ametake版权所有]http://blog.csdn.net/ametake欢迎来看 http://blog.csdn.net/ametake/article/details/47664 ...

  6. 【日常学习】【区间DP+高精】codevs1166 矩阵取数游戏题解

    题目来自NOIP2007TG3 如果在考场上我现在已经歇菜了吧 今天一整天的时间全部投在这道题上,收获不小. 先上题目 题目描述 Description [问题描述] 帅帅经常跟同学玩一个矩阵取数游戏 ...

  7. 计蒜客 2020 蓝桥杯省赛 B 组模拟赛(五)E区间dp H 裴蜀 J dp A-J 权值线段树

    题目链接 因为要去笔试.所以只打了两个小时,有点求快,很多细节没写好就匆匆交,而且没有检查,打的有点菜 C-煎牛排 做法: 所有的面的个数sum=2*n   然后sum/(2*k)即可. ans=ma ...

  8. 喵哈哈村的魔法考试 Round #1 (Div.2) 题解源码(A.水+暴力,B.dp+栈)

    A.喵哈哈村的魔法石 发布时间: 2017年2月21日 20:05   最后更新: 2017年2月21日 20:06   时间限制: 1000ms   内存限制: 128M 描述 传说喵哈哈村有三种神 ...

  9. Leetcode1690. 石子游戏 VII[C++题解]:带有博弈论的区间dp

    文章目录 题目分析 状态表示 状态转移 题目链接 题目分析 补充博弈论的做题想法:让最坏情况下最好.在很多决策中,考虑所有的最坏情况,选其中最好的一个. 本题分析: 刚开始因为是个贪心题目,两个人每次 ...

最新文章

  1. 常用开源协议介绍以及开源软件规范列表
  2. 微信小程序接入,https服务器搭建和调试
  3. Linux问题分析或解决_ssh无法连接
  4. 初识Mysql(part5)--我需要知道的11条Mysql语句之过滤
  5. 正则表达式只能写数字_正则表达式真的很骚,可惜你不会写
  6. 5导出word_重磅更新 !支持题库导出为word
  7. StringBuffer的解读(一)
  8. 【路径规划】基于matlab粒子群融合遗传算法栅格地图路径规划【含Matlab源码 526期】
  9. ARM指令计算机器码,ARM中几种把BL指令转化为机器码算法
  10. windows下WDK创建免费的测试证书,并签名windows驱动文件(附带测试效果)
  11. Linux下黑客帝国代码雨
  12. 每周分享第 18 期
  13. MES管理系统基础知识
  14. Java中引用数据类型有哪些,它们与基本数据类型有什么区别?
  15. Java的位运算符详解实例——与()、非(~)、或(|)、异或(^)
  16. Linux下3种常用的网络测速工具
  17. 琵琶行----白居易
  18. cmd 新增dns_用CMD设置IP DNS的方法
  19. 【韧性设计】节流模式
  20. 图书馆座位预约系统管理/基于微信小程序的图书馆座位预约系统

热门文章

  1. 基于tushare量化交易模型基础构建(偿债能力排名)
  2. 微信支付平台技术文档的一个小坑
  3. STM8L HSE时钟配置
  4. C、 C++遍历文件夹,删除文件夹
  5. 论文阅读 FastSpeech
  6. 手机app开发制作流程是怎样的?
  7. mysql工具大象_mysql
  8. echarts人体含水量(象形柱图)更改SVG(性别占比或其他占比百分比)
  9. 余弦定理实现新闻自动分类算法
  10. AndroidRuntimeException: requestFeature() must be called before adding content异常解决办法