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

网站建设这一行业怎样/如何在手机上制作网站

网站建设这一行业怎样,如何在手机上制作网站,wordpress导入html,南宁网站制作设计信奥赛CSP-J复赛集训(DP专题)(37):P4170 [CQOI2007] 涂色 题目描述 假设你有一条长度为 5 5 5 的木板,初始时没有涂过任何颜色。你希望把它的 5 5 5 个单位长度分别涂上红、绿、蓝、绿、红色&#xff0c…

信奥赛CSP-J复赛集训(DP专题)(37):P4170 [CQOI2007] 涂色

在这里插入图片描述

题目描述

假设你有一条长度为 5 5 5 的木板,初始时没有涂过任何颜色。你希望把它的 5 5 5 个单位长度分别涂上红、绿、蓝、绿、红色,用一个长度为 5 5 5 的字符串表示这个目标: RGBGR \texttt{RGBGR} RGBGR

每次你可以把一段连续的木板涂成一个给定的颜色,后涂的颜色覆盖先涂的颜色。例如第一次把木板涂成 RRRRR \texttt{RRRRR} RRRRR,第二次涂成 RGGGR \texttt{RGGGR} RGGGR,第三次涂成 RGBGR \texttt{RGBGR} RGBGR,达到目标。

用尽量少的涂色次数达到目标。

输入格式

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

输出格式

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

输入输出样例 #1

输入 #1

AAAAA

输出 #1

1

输入输出样例 #2

输入 #2

RGBGR

输出 #2

3

说明/提示

40 % 40\% 40% 的数据满足 1 ≤ n ≤ 10 1\le n\le 10 1n10

100 % 100\% 100% 的数据满足 1 ≤ n ≤ 50 1\le n\le 50 1n50

AC代码:

#include<bits/stdc++.h>
using namespace std;char s[60]; // 存储输入的字符串
int dp[60][60]; // dp[l][r]表示将区间[l..r]涂成目标颜色所需的最少次数int main(){scanf("%s", s + 1); // 从s[1]开始读取字符串int n = strlen(s + 1); // 获取字符串长度memset(dp, 0x3f, sizeof(dp)); // 初始化为极大值,表示不可达// 初始化单个字符的情况for(int i = 1; i <= n; i++){dp[i][i] = 1; // 单个字符只需涂一次}// 动态规划处理所有区间for(int k = 2; k <= n; k++){ // 枚举区间长度,从2到nfor(int l = 1; l + k - 1 <= n; l++){ // 枚举区间左端点lint r = l + k - 1; // 计算区间右端点r// 如果区间两端字符相同,则可能合并涂色if(s[l] == s[r]){dp[l][r] = min(dp[l + 1][r], dp[l][r - 1]); // 取不包含左端点或不包含右端点的子区间的最小值}// 遍历所有可能的分割点,寻找更优解for(int i = l; i < r; i++){dp[l][r] = min(dp[l][r], dp[l][i] + dp[i + 1][r]);}}}printf("%d\n", dp[1][n]); // 输出整个字符串的最少涂色次数return 0;
}

功能分析:

该程序采用动态规划解决区间涂色问题,关键点如下:

  1. 状态定义dp[l][r]表示将区间[l..r]涂成目标颜色所需的最少次数。

  2. 初始化:每个单字符区间dp[i][i]初始化为1,因为只需一次涂色。

  3. 状态转移

    • 两端相同处理:若区间两端字符相同,则dp[l][r]可取左右子区间的最小值,因为可以在涂色时覆盖端点。
    • 分割点遍历:枚举所有可能的分割点i,将区间分为[l..i][i+1..r],取两部分次数和的最小值。
  4. 自底向上计算:从小区间逐步求解大区间,确保每个区间的解都基于最优子结构。

  5. 复杂度:时间复杂度为O(n³),适用于题目中的n≤50的数据范围。

文末彩蛋:

关注并查看老师的个人主页,学习完整csp信奥赛完整系列课程: https://edu.csdn.net/lecturer/7901

在这里插入图片描述

http://www.whsansanxincailiao.cn/news/30723276.html

相关文章:

  • 成都网站的/自动点击器怎么用
  • 网站换模板/小白如何学电商运营
  • 网站图片轮播怎么做/企业网站类型有哪些
  • 自动生成ui界面/亚马逊排名seo
  • 旅游网站 div css 模板下载/公关公司经营范围
  • 淄博网站排名优化公司/营销软文的范文
  • 下班后做兼职任务网站/新闻发稿推广
  • 上海做网站吧/天津关键词优化专家
  • 建一个商城网站需要多少钱/智慧教育
  • 虾皮购物网站怎么做/优化方案的格式及范文
  • wordpress 提供了 支持/西安搜索引擎优化
  • 网站留言板有什么用/网站查询服务器
  • 做网站制作利润有多少/海南百度推广公司
  • 无锡做网站哪家公司好/网络推广是什么工作内容
  • 泰州网站建设物美价廉/广东公司搜索seo哪家强
  • 做的好的阅读类的网站有哪些/上海网络seo公司
  • 互联网网站建设制作/优化营商环境 提升服务效能
  • 微信公众号链接网站怎么做/百度竞价推广账户优化
  • 百度做网站的特点/友链网站
  • 医疗网站做药品是干嘛/seo网站营销推广
  • 网页升级紧急通知合集/网站优化员seo招聘
  • 网站模板与网站开发/石家庄最新消息
  • 广告公司资质/seo优化课程
  • 视频直播nba的网站/网站推广 方法
  • 株洲百度推广/seo顾问服务四川
  • 东莞著名网站建设企业/营销管理培训课程
  • html5 网站框架/病毒式营销
  • 怎么做网站导航条/seo搜索引擎优化入门
  • 推动高质量发展建议/长沙网站seo公司
  • 武汉专业做网站公司/网图搜索识别