HDU 2476 String painter(区间dp)

物体检测之非极大值抑制:NMS、softNMS、softerNMS、IoU-Net 当前的物体检测算法为了保证召回率,对于同一个真实物体往往会有多个的候选框输出。由于多余的候选框会影响检测精度,因此需要利用NMS过滤掉重叠的候选框,得到最佳的预测输出。当前有如下几种较为常见的NMS方法, 1.基本NMS 非极大值抑制, 顾名思义就是抑制不是极大值的边框,这里的抑制通常是直接去掉冗余的边框。 这个过程涉及以下两个量化指标: 1.预测得分:NMS假设一个边框的预测得分越高,这个框... 阅读详情

String painter

Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2171    Accepted Submission(s): 956


Problem Description
There are two strings A and B with equal length. Both strings are made up of lower case letters. Now you have a powerful string painter. With the help of the painter, you can change a segment of characters of a string to any other character you want. That is, after using the painter, the segment is made up of only one kind of character. Now your task is to change A to B using string painter. What’s the minimum number of operations?
 

Input
Input contains multiple cases. Each case consists of two lines:
The first line contains string A.
The second line contains string B.
The length of both strings will not be greater than 100.
 

Output
A single line contains one integer representing the answer.
 

Sample Input
  
zzzzzfzzzzz abcdefedcba abababababab cdcdcdcdcdcd
 

Sample Output
  
6 7
 

Source
 

Recommend

/*

题意:将第一个字符串转化为第二个字符串最少步数(每一步可以将一个区间变成一种颜色)

思路: 先假设两个串完全不同涂色,也就是dp[i][j]代表b串i~j完全不同涂色的最小步数
      然后ans[i]记录第一个串前i个字符全部涂成b钱i个字符的步数
      那么当来了b 一个字符 如果相等那么ana[i]=min(dp[0][i],ans[i-1])
      然后还可能是前面任意一个涂好的ans[j] 再见过dp[j+1][i]而来


*/


#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<set>
#include<map>

#define L(x) (x<<1)
#define R(x) (x<<1|1)
#define MID(x,y) ((x+y)>>1)

#define eps 1e-8
typedef __int64 ll;

using namespace std;

#define N 105

int dp[N][N],s[N];
char a[N],b[N];

int main()
{
	int i,j;
	while(~scanf("%s",a))
	{
		scanf("%s",b);
		memset(dp,0,sizeof(dp));
		int len=strlen(b);

        for(i=0;i<len;i++)
			dp[i][i]=1;

		for(i=len-1;i>=0;i--)
		  for(j=i+1;j<len;j++)
		  {
		  	 dp[i][j]=dp[i+1][j]+1;

		  	 for(int k=i+1;k<=j;k++)
				if(b[i]==b[k])
			 {
			 	dp[i][j]=min(dp[i][j],dp[i+1][k]+dp[k+1][j]);
			 }

		  }

		for(i=0;i<len;i++)
		{
			s[i]=dp[0][i];
			if(a[i]==b[i])
			{
				if(i==0)
				  s[i]=0;
				else
				  s[i]=s[i-1];
			}
			else
			 for(int k=0;k<i;k++)
		          s[i]=min(s[i],s[k]+dp[k+1][i]);
		}
		printf("%d\n",s[len-1]);
	}
	return 0;
}





基于JeecgBoot 3.9.0 开源项目的企业管理平台 阅读详情

相关推荐

深入解析CAN2.0A与CAN2.0B协议:帧格式与通信机制对比

本文深入对比了CAN2.0A与CAN2.0B协议的核心差异,重点解析了11位标准帧与29位扩展帧的帧格式、标识符长度及通信机制。文章阐述了CAN2.0B向下兼容的特性,并探讨了在汽车电子、工业控制等复杂网络中,如何根据项目需求、兼容性及实时性要求,在标准帧与扩展帧之间做出合理选择。

weixin_29163797的博客 394

HDU 2476 String painter (*区间DP+基础Dp)

H - String painter  HDU - 2476  There are two strings A and B with equal length. Both strings are made up of lower case letters. Now you have a powerful string painter. With the help of th

AI蜗牛之家 1076

Comsol固体力学仿真﹣﹣受均匀内压的厚壁球壳弹塑性分析(加载卸载全流程)

COMSOL固体力学及结构力学仿真较少,故而查询了有关资料,才建立了如下模型。图4 加载卸载全历程中的冯米塞斯应力变化。该有限元模型是通过扫掠而得的结构化网格。图2 加载卸载全历程中的塑型区域变化。图3 加载卸载全历程中的位移应力变化。图6 关键节点第一,第三主应力分布。图5 关键节点应力场与塑性区分布。《弹塑性力学》大作业,记录一下。图1 球体的有限元网格模型。

weixin_62236383的博客 1486

String painter(DP综合题:区间DP(两次DP))

Link:http://acm.hdu.edu.cn/showproblem.php?pid=2476 String painter Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2543    Accep

林下的码路 1643

Tube-based MPC完全指南:RCI集合构造与Matlab实现

模型预测控制(MPC)在实际工程中常因模型失配和外部扰动导致硬约束被突破,而鲁棒控制中的Tube-based MPC通过将单条预测轨迹扩展为“管道”集合,为不确定性提供了严格的安全边界。其核心在于利用鲁棒控制不变集(RCI)离线构造安全域,再结合在线标称MPC与反馈校正实现约束的硬保证。针对非线性系统,利普希茨条件为等效扰动的放大和RCI的构造提供了理论基础,使得算法既能保留非线性描述,又不牺牲在线计算效率。该方法适用于带扰动和参数漂移的机械系统、过程控制及嵌入式控制场景。本文以摩擦力非线性系统为例,从RC

weixin_32642109的博客 216

Arthas实战(3)- CPU使用率高问题排查

Arthas实战(3)- CPU使用率高问题排查

java_liuyuan的博客 1731

刷题总结——String painter(hdu2476)

题目: Problem Description There are two strings A and B with equal length. Both strings are made up of lower case letters. Now you have a powerful string painter. With the help of the painter, yo...

banzhangzhi8819的博客 175

CTS实战:如何用set_sense优化时钟树平衡(附ICC2避坑指南)

本文深入探讨了在时钟树综合(CTS)中,如何正确使用`set_sense`命令优化时钟树平衡,并对比了其与`set_disable_timing`的本质区别。通过实战案例详细解析了`-stop_propagation`和`-clock_leaf`参数的应用场景,并提供了ICC2工具中的关键避坑指南,帮助后端工程师精准控制时钟拓扑,避免时序分析漏洞。

weixin_28933797的博客 459

HDU 2476 String painter(区间DP)

String painter - http://acm.hdu.edu.cn/showproblem.php?pid=2476 分析 每次操作应至少使得1个字符变成目标字符(理由:否则这次操作可以省略) 如果某次操作将一段字符串改写为一段单一字符的串,那么,对应的目标字符串的首尾字符就等于这个字符(理由:否则,首部、尾部不操作【操作导致的结果不会变好】)。例如:xyzz -> abac中,1)操作xy -> aa 、xy -> bb 和xy -> dd 是不合理的

jpphy0的博客 731

AI一键生成带货短视频:电商直播的未来

随着电子商务行业的快速发展,直播带货已成为一种极为有效的营销手段。然而,传统的人工直播方式存在诸多局限性,如人力成本高、主播培训周期长等问题。为了解决这些挑战,一种基于AI技术的一键生成带货视频解决方案应运而生——这就是“Anchor Crafter”。这项创新技术不仅能够自动创建高质量的带货视频,而且还能实现人物与商品之间的自然交互,极大地提升了用户体验。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 2204

clock min pulse width检查

高电平脉宽 = clock fall edge到达FF/CK的时间 - clock rise edge到达FF/CK的时间;低电平脉宽 = 下一T clock rise edge到达FF/CK的时间 - clock fall edge到达FF/CK的时间。而required pulse width是根据FF/CK处的transition,根据查找表计算得到的。为什么clock transition越大,会导致required pulse width越大呢?5、 降低clock上的串扰。

芯冰乐 577

String painter HDU - 2476 区间dp

String painter HDU - 2476 区间dp 题意: 给出两个串s1和s2,一次只能将一个区间刷一次,问最少几次能让s1=s2 例如zzzzzfzzzzz,长度为11,我们就将下标看做0~10, 变成abcdefedcab 先将0~10刷一次,变成aaaaaaaaaaa 1~9刷一次,abbbbbbbbba 2~8:abcccccccba 3~7:abcdddddcb...

deerly_的博客 274

02-Redis 核心特性与数据结构详解:揭秘高性能的技术内核

本文深度拆解 Redis 高性能的技术内核:揭秘其凭“内存存储 + C 语言开发” 实现微秒级延迟、10 万 + QPS 的性能优势;详解 5 种基础数据类型(String/Hash 等)与 4 种扩展数据类型(Stream/Geospatial 等)的特性及场景;还介绍多语言支持、RDB/AOF 持久化、主从复制 / 哨兵 / 集群等高可用方案,助读者掌握 Redis 技术核心与实践逻辑。

蜗牛老师,专注编程领域 996

HDU-2476 String painter(区间dp)

H - String painter  HDU - 2476  题意:给出两个字符串s1,s2,将s1串变为s2串,每次可以将连续的一个子串改成任意的一个字母,问最少需要操作多少次。 题解:区间dp 分2个步骤:①设s1为空串,dp求出空串转化成s2所需最小花费。 对于区间[l,r],k在区间内,如果s2[l]==s2[k],那么dp[l][r]=dp[l+1][

十分残念的博客 1692

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

[HDU-2476]String painter 区间dp

String painter HDU - 2476 题目描述 有两个长度相等,都只由小写字母构成的字符串A和B. 现在你有一把充满魔♂力的刷子。使用这把刷子,你可以把字符串中连续的一段区间刷♂成一个相同的字符,例如,对于字符串"vandarkholme",把区间[3,6]刷成'd',可以变成"vanddddholme"。现在你要用这把刷♂子把字符串A变成B,最少要刷多少次? 输入 多...

caowenbo2311694605的博客 358

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

HDU-2476 String Painter(区间dp)

HDU-2476 问题描述 There are two strings A and B with equal length. Both strings are made up of lower case letters. Now you have a powerful string painter. With the help of the painter, you can change a se...

int_Brosea的博客 289

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

hdu 2476 String painter 区间dp

hdu 2476 String painter 区间dp

阑珊记忆 468

HDU2476:String painter(区间DP)

Problem Description There are two strings A and B with equal length. Both strings are made up of lower case letters. Now you have a powerful string painter. With the help of the painter, you can chan

ACM!荣耀之路! 9148

String painter HDU - 2476 -区间DP

HDU - 2476 思路:分解问题,先考虑从一个空串染色成 B串的最小花费 ,区间DP可以解决这个问题 具体的就是,当 str [ l ] = = str [ r ]时dp [ L ] [ R ] = min (dp [ L + 1] [ R ],dp [ L ] [ R-1 ] ) 其他情况可以选择任意一个断点tmp = min ( tmp , dfs ( l ,k ) + df...

weixin_30652879的博客 62

HDU 2476 String painter (区间DP)

hdu 2476 题目: Problem Description There are two strings A and B with equal length. Both strings are made up of lower case letters. Now you have a powerful string painter. With the help of the painte...

Kruskal的博客 272

HDU 2476 String painter 区间dp

题意: 给出两个字符串, 定义操作为将a串任意连续区间改为相同的一个字符, 问最少多少次操作可以让a变为b. 思路: 直接做太难了. 看了kuangbin的博客才知道可以这样做. 先用区间dp搞定从空白串变为b串所需要的操作次数. 至于a串变b串,要用到ans数组记录前j位的最小操作数. a[i]若与b[i]相同, 那么ans[i]就可以用ans[i-1]更新. 求让前i位变身的最小...

swqeaaa的博客 180

HDU2476 String painter 区间DP

HDU2476 String painter 区间DP

htrdchh的博客 207

HDU2476 String painter——区间DP

题意:要把a串变成b串,每操作一次,可以使a串的[l,r]区间变为相同的一个字符。问把a变成b最少操作几次。 这题写法明显是区间dp ,关键是处理的方法。 dp[l][r]表示b串的l~r区段至少需要刷几次。这个值直接在b串中讨论,不用考虑a串。 之后用一个数组ans[i]来帮助求答案,ans[i]表示把a串的[0,i]区段刷成b对应区段所刷的次数。 #include<...

weixin_30808253的博客 118

HDU 2476 String painter 区间DP

String painter Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2890    Accepted Submission(s): 1319 Problem Description There are two s

colorfulshark 708

hdu2476(String painter)区间dp

                                            String painter                          Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)                                ...

snayf的博客 310
上一篇: HDU 4570 Multi-bit Trie(区间dp)
下一篇: HDU 3280 Equal Sum Partitions(二分查找)
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值