【ybt】【动态规划 区间 课过 例2】木板涂色_木板涂色问题_SSL_GYX的博客-程序员秘密

技术标签: ybt  DP  

木板涂色

题目链接:YbtOJ/Luogu


在这里插入图片描述

解题思路

区间 D P DP DP
f l , r f_{l,r} fl,r 表示将区间 [ l , r ] [l,r] [l,r] 涂成目标形式的最小次数,转移方程如下:
f l , r = { m i n l < k ≤ r ( f l , k − 1 + f k , r ) ( s [ l ] ≠ s [ r ] ) m i n ( f l , r − 1 , f l + 1 , r ) ( s [ l ] = s [ r ] ) f_{l,r}=\left\{ \begin{array}{l} min_{l<k\leq r}(f_{l,k-1}+f_{k,r})&(s[l]\neq s[r])\\ min(f_{l,r-1},f_{l+1,r})&{(s[l]=s[r])}\\ \end{array} \right. fl,r={ minl<kr(fl,k1+fk,r)min(fl,r1,fl+1,r)(s[l]=s[r])(s[l]=s[r])

code

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;

char s[60];
int f[60][60];

int main()
{
    
	cin>>s+1;
	int n=strlen(s+1);
	memset(f,0x3f3f3f3f,sizeof(f)); 
	for(int i=1;i<=n;i++)
		f[i][i]=1;
	for(int len=2;len<=n;len++)
		for(int l=1;l+len-1<=n;l++)
		{
    
			int r=l+len-1;
			if(s[l]==s[r])
				f[l][r]=min(f[l+1][r],f[l][r-1]);
			else
				for(int k=l+1;k<=r;k++)
					f[l][r]=min(f[l][r],f[l][k-1]+f[k][r]);
		}
	cout<<f[1][n]<<endl;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/SSL_guyixin/article/details/118600171

智能推荐

NOIP2018游记_OI界第一麻瓜的博客-程序员秘密

挖坑。。可能成绩出来了再写。。先把文化课补了先

Android 共享用户不兼容,安装失败 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE_iteye_2125的博客-程序员秘密

Android 2.3.3 Eclipse Version: 3.7.0 LogCat Console 报错:[2012-02-06 11:15:26 - taobao] ------------------------------[2012-02-06 11:15:26 - taobao] Android Launch![2012-02-06 11:15:26 - taob...

计算机系统操作包含关系,计算机操作系统复习题目(1)_小明逆袭的博客-程序员秘密

27、相对于单一内核结构,采用微内核结构设计和实现操作系统具有诸多好处。但是,()并不是微内核的优势。(浙江大学2006) A.使系统更高效 B.想添加新服务时,不必修改内核C. 使系统更易运行在不同的计算机硬件平台上 D. 使系统更可靠 【答案】A【解析】本题考查的微内核结构的优点。B是可扩展性,C是可移植性,D是可靠性。提出微内核结构主要是为了提高OS的正确性,灵活性,易维护性,可扩充性...

MAVEN踩坑 Could not find artifact..._未入门萌新的博客-程序员秘密

【问题描述】在一个maven工程中有许多子工程,其中一个子工程通过pom的方式引用了另外一个子工程&lt;dependency&gt; &lt;groupId&gt;org.example&lt;/groupId&gt; &lt;artifactId&gt;springcloud-api&lt;/artifactId&gt; &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt; &l

dedecms---一个简单酷站的构建及解析_weixin_34101229的博客-程序员秘密

一、构建内容模型二、添加顶级栏目并添加文档三、创建模型模板1.article_cool 1 &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional....

SQL统计连续性问题_六mo神剑的博客-程序员秘密

SQL查询连续七天以上下单的用户思路:1,将同一天的日期去重;2,将表按照id分组根据时间排名,时间减去排名 获得 rnk字段,如果时间是连续的则相减的结果相等: select id,rnk from (select *,date-排名 rnk from (select *,row_number() over(partition by id order by date) ...

随便推点

【实战-干货】手把手带你搭建自己的FTP服务器,实现文件上传、下载_IT学习日记的博客-程序员秘密

手把手带你实现Ftp服务器搭建,JAVA程序实现Ftp文件上传和下载。

rtmp直播协议介绍_Putin_yhc的博客-程序员秘密

1.概述rtmp协议是adobe公司发明的直播流协议,是目前主流的视频上传协议。2.术语AMF(Action Message Format)是在flash和flex中与远程服务端交换数据的一种格式。它是二进制格式,Flash应用与服务端或数据库通过RPC交换数据时,通常都采用这种格式。AMF 1 诞生于Flash Player6,发展到现在已经变成了了AMF

【Cesium】3d tiles 初始位置设置_浪向往着岸的博客-程序员秘密

根据鼠标点击事件获取的世界坐标,设置3DTiles 模型的位置

HTTPS加密过程详解_兴涛的博客-程序员秘密

HTTPS加密过程详解!干货满满!准备好时间再看!

Win10一周年更新14393.10慢速版/稳定预览版推送_weixin_33964094的博客-程序员秘密

8月2日消息,IT之家今早报道了微软唐娜姐推送Win10一周年更新14393.10快速版累积更新的消息,如今,唐娜姐在推特宣布,该版本已经面向位于慢速预览和稳定预览通道的Win10用户推送。如此迅速的版本推送,说明Win10一周年更新版14393.10已经处于非常稳定的状态。位于慢速预览和Release Preview通道的Win10用户现在可以检查...

mysql5.7 gtid复制_MySQL5.7启动gtid复制_桑一的博客-程序员秘密

gtid配置路线图查看gtid配置mysql&gt; show variables like 'gtid%';+----------------------------------+------------------------------------------+| Variable_name | Value ...

推荐文章

热门文章

相关标签