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

UVA1437 String painter 分析

题目概述

给定字符串 \(A\) 和字符串 \(B\),定一次操作为将 \(A\) 一个区间的字符全部换成同一个,问最小操作让 \(A\rightarrow B\)

分析

一看完题目感觉似曾相识,好像有道题目类似吧。

就这道:P4170 [CQOI2007] 涂色。

这道一开始 \(A\) 是全部为空的,这题显然难了一点。

首先考虑全为空,这个直接用区间 \(dp\) 可以直接解决。

接下来考虑怎么从 \(A\rightarrow B\),我们可以考虑进行一个一段一段的 \(dp\),即设 \(g_i\) 表示解决完 \([1,i]\) 的最小代价。

转移就是枚举 \([j+1,i]\) 是要使用操作的,因此有 \(g_i\leftarrow g_j+f_{j+1,i}\),其中 \(f\) 是上面的那个区间 \(dp\) 所求。

这道题目就被优雅解决了。

代码

时间复杂度 \(\mathcal{O}(n^3)\)

#include <iostream>
#include <cstdio>
#include <cstring>
#include <stdlib.h>
#include <algorithm>
#include <vector>
#define int long long
#define N 105
using namespace std;
char a[N],b[N];
int f[N][N],g[N];
signed main(){while(~scanf("%s%s",a + 1,b + 1)) {int n = strlen(a + 1);for (int i = 1;i <= n;i ++)for (int j = 1;j <= n;j ++) f[i][j] = 2e9;for (int i = 1;i <= n;i ++) f[i][i] = 1,g[i] = 2e9;for (int len = 2;len <= n;len ++)for (int i = 1;i + len - 1 <= n;i ++) {int j = i + len - 1;if (b[i] == b[j]) f[i][j] = f[i + 1][j];elsefor (int k = i;k < j;k ++) f[i][j] = min(f[i][j],f[i][k] + f[k + 1][j]);}for (int i = 1;i <= n;i ++) {if (a[i] == b[i]) g[i] = g[i - 1];elsefor (int j = 0;j < i;j ++) g[i] = min(g[i],g[j] + f[j + 1][i]);}printf("%lld\n",g[n]);}return 0;
}
http://www.jsqmd.com/news/46738/

相关文章:

  • Ubuntu22.04.4安装配置CUDA12.5,Cdnn官方详细版本
  • 2025 年 11 月电缆生产厂家排名出炉!知名品牌推荐 + 天津消防电缆厂家优选指南
  • 2025恩施一对一家教机构综合推荐,提分优选:靠谱方案推荐排行榜
  • 低门槛 + 全周期赋能:天翼云息壤大模型应用服务平台加速千行百业 AI 落地
  • 三层C/S架构的部署图
  • SATA接口调试问题记录
  • 3、步进电机梯形加减速
  • 云鼎未来,智营全局——哲讯科技以SAP Business ByDesign引领中型企业迈向协同运营新纪元
  • 2025 最新除甲醛机构权威推荐榜单:标杆企业技术服务测评解析,新房 / 家具 / 车内 / 办公除醛优选酒店除甲醛 / 室内除甲醛 / 附近除甲醛 / 学校除甲醛公司推荐
  • 超微Supermicro服务器安装英伟达A100,cuda
  • 镜头分辨率如何匹配工业相机的分辨率
  • linux,centos,aarch架构下载并部署redis
  • 2025年11月河南自习室加盟市场分析与品牌推荐
  • 习题解析之:判断火车票座位
  • 题解:NFLSOI#P10008. Speike和Tom
  • 洛谷 B4410:[GESP202509 一级] 金字塔 ← 循环结构
  • CF246E bfs 序上莫队
  • 2025 年 11 月降本增效管理咨询公司推荐排行榜,降本增效咨询,企业降本增效,提质增效咨询机构,专业实力与客户满意度深度解析
  • 小型食品厂省心了!CLC-S22R 控温又省成本​
  • 质量基石:读懂检查表,用好数字化管理利器
  • P4148 简单题 模板题分析
  • 【压测数据分享】VictoriaLogs 中的参数 `inmemoryDataFlushInterval` 对写入性能的影响
  • Windows系统增强神器!PowerToys微软官方效率工具(实操v教程)!
  • Linux内核实验-ubuntu
  • 2025年11月四川自习室加盟市场分析与品牌推荐
  • 2025年电极生产厂家权威推荐榜单:航空插头/马达壳/插针源头厂家精选
  • 2025 最新推荐装盒机厂家权威排行榜:全自动 / 食品 / 纸巾 / 卫生巾装盒机技术创新与整线配套能力测评
  • P9433 [NAPC-#1] Stage5 - Conveyors 分析
  • 我发现上大学虚构痛苦是件非常愚蠢的事
  • Qt 实现“可点击跳转”的 QSlider