51Nod 1092 回文字符串——————LCM

构造回文字符串 题目描述 一个字符串是回文字符串当且仅当这个字符串从左向右读和从右向左读是一样的,比如:aba, cddc。 现在给定一个字符串,问你,最少添加多少个字符,可以使得字符串变成回文字符串。样例中Ab3bd最少添加2个字符串,如Adb3bdA。 输入 第一行输入字符串长度n 第二行输入字符串,仅由字母和数字构成 输出 输出最 阅读详情

1092 回文字符串


基准时间限制:1 秒
空间限制:131072 KB
分值: 10
难度:2级算法题


回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。每个字符串都可以通过向中间添加一些字符,使之变为回文字符串。
例如:abbc 添加2个字符可以变为 acbbca,也可以添加3个变为 abbcbba。方案1只需要添加2个字符,是所有方案中添加字符数量最少的。


Input

输入一个字符串Str,Str的长度 <= 1000。

Output

输出最少添加多少个字符可以使之变为回文字串。

Input示例

abbc

Output示例

2


将原始字符串s1倒置得到s2
求得s1,s2的最长公共子序列LCS(s1,s2)
s1 的长度就是Len
结果就是Len - LCS(s1,s2)

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1e3+7;
char s1[MAXN];
char s2[MAXN];
int  dp[MAXN][MAXN];
int main()
{
        memset(dp,0,sizeof(dp));
        scanf("%s",s1);
        int len=strlen(s1);
        for(int i=0;i<len;i++)
                s2[len-1-i] = s1[i];
        for(int i=0;i<len;i++)
                for(int j=0;j<len;j++)
                        if(s1[i]==s2[j])
                                dp[i+1][j+1] = dp[i][j]+1;
                        else
                                dp[i+1][j+1] = max(dp[i+1][j],dp[i][j+1]);

         printf("%d\n",len-dp[len][len]);

        return 0;
}

Leetcode 1400:构造K个回文字符串(超详细的解法!!!) 给你一个字符串 s 和一个整数 k 。请你用 s 字符串中 所有字符 构造 k 个非空 回文串 。 如果你可以用 s 中所有字符构造 k 个回文字符串,那么请你返回 True ,否则返回 False 。 示例 1: 输入:s = "annabelle", k = 2 输出:true 解释:可以用 s 中所有字符构造 2 个回文字符串。 一些可行的构造方案包括:"anna" + "elble","anbna" + "elle","anellena" + "b" 示例 2: 输入:s = "leetcode", k = 3 输出:false 解释:无法用 s 中所有字符构造 3 个回文串。 示 立即下载

相关推荐

AD56XXR系列DAC驱动设计:SPI接口、寄存器配置与嵌入式工程实践

数模转换器(DAC)是嵌入式系统实现高精度模拟控制的核心器件,其性能取决于通信协议可靠性、寄存器配置准确性及硬件协同设计能力。基于SPI总线的电压输出型DAC广泛应用于工业控制、光模块偏置、传感器校准等场景,需兼顾静态精度、动态响应与低功耗特性。AD56XXR系列作为典型集成内部基准与多通道同步更新能力的12/14/16位DAC,支持轨到轨输出与灵活掉电模式,为资源受限MCU提供可移植固件范式。本文围绕SPI时序约束、16位指令字解析、LDAC同步机制及精度补偿策略展开,覆盖从硬件连接、初始化流程到量产级可

weixin_33481022的博客 610

构建回文串检测,思路加代码(c++)

比如j在left=3的位置为1,即奇数次,j在right+1=9的地方为1,也为奇数次,那两者异或为0即偶数次,也表示区间里出现的次数是偶数次,因为奇数减奇数得到偶数,其他情况同理。所谓的1

ouliten的博客 403

基于USB总线的虚拟摄像头(UVC)原理简介

前面文章中我们分析了虚拟声卡的实现,在文章中我们展示了创建一个虚拟麦克风和虚拟扬声器的技术原理。完成了音频的虚拟化之后,这里就要谈论一下对于视频的虚拟化了——虚拟摄像头的实现。关于虚拟麦克风和虚拟扬声器的实现,可以参考。虚拟摄像头应用也是非常普遍的,例如云桌面远程摄像头的实现,直播技术。目前对于虚拟摄像头有三种实现方式:DirectShow虚拟摄像头,这个是一种比较古老的技术;在新版本应用中,该项技术基本失效了,尤其是UWP框架程序,DirectShow虚拟摄像头就失效了。

tianxilink的博客 5415

构造回文串

【代码】构造回文串。

weixin_62377608的博客 171

YOLOv11改进策略【Neck】| SEAM:分离和增强注意模块,解决复杂场景下的小目标遮挡问题

本文记录的是利用 SEAM 模块优化 YOLOv11 的目标检测网络模型。的设计出发点在于解决复杂场景下的人脸遮挡问题,相当于是小目标被其他物体部分遮挡时,传统方法因特征缺失导致检测精度下降的问题。该模块通过增强未遮挡区域的特征响应并补偿被遮挡区域的信息损失,提升模型对遮挡小目标的检测能力。YOLO-FaceV2: A Scale and Occlusion Aware Face DetectorSEAM模块(Separated and Enhancement Attention Module)的设计出发点

Limiiiing的博客 2280

UFAST车道线检测 Ultra-Fast-Lane-Detection 从环境搭建到复现完成(一)

UFAST车道线检测 Ultra-Fast-Lane-Detection 从环境搭建到复现完成(一)

m0_46364958的博客 4345

LeetCode 1177 构建回文串检测【前缀和、字符串】

难度: 中等 知识点: 前缀和、回文串 给你一个字符串 s,请你对 s 的子串进行检测。 每次检测,待检子串都可以表示为 queries[i] = [left, right, k]。我们可以重新排列子串 s[left], ..., s[right],并从中选择最多 k 项替换成任何小写英文字母。  如果在上述检测过程中,子串可以...

一只小羊 468

Python地理数据处理 十七:植被物候提取和分析(Savitzky-Golay)

植被是陆地生态系统中最重要的组分之一,也是对气候变化最敏感的组分,其在全球变化过程中起着重要作用,能够指示自然环境中的大气、水、土壤等成分的变化,其年际和季节性变化可以作为地球气候变化的重要指标。此外,由于生态工程保护建设和植被自然生长等因素,中国陆地生态系统发挥了重要的碳汇作用。因此,定量评估植被时空动态变化是制定生态系统可持续发展目标和衡量生态系统固碳潜力的重要前提,卫星遥感数据衍生的生态参量产品为研究长时间序列全球及区域植被时空变化提供了重要数据源。SG滤波能够对物候信息进行平滑,并提取其中的物候信息

amyniez的博客,欢迎交流讨论 4246

基础练习—完美的代价

题目描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : madma 第三次交换 ma : madam (回文!完美!) 输入 第一行是一个整数N,表示接下来的字符串的长度(N < = 8000) 第二行是一个字符串,长度为N.只包含小写字母 输

qq_41328488的博客 852

YOLOv8改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

1️⃣本专栏已更新150多种不同的改进方法,所使用并改进的每一个模块均包含详细的模块分析、原理讲解、个人总结、多种改进方式以及完整的修改流程,所有改进100%可直接运行。2️⃣所有改进点均为近三年顶会,顶刊提出的先进算法,将其融入到中,紧跟学术热点,适应不同的任务场景。3️⃣团队内发表数篇SCI论文,熟悉完整的发表流程,订阅专栏即可进群享受模型训练、模型改进、论文写作、投稿选刊,从入门到论文的各种答疑内容。4️⃣专栏内容会持续更新,最近更新时间:2024-12-24。项目介绍在大家购买专栏后,加入学

Limiiiing的博客 1万+

记录Rancher集群中coredns问题导致的服务DNS解析超时

coredns问题处理

1359

leetcode409 最长回文串

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入: “abccccdd” 输出: 7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。 思路:建立哈希表存储每个字母的数量。若字母数量为偶数,则可以全部安置在回文子串两侧;若字母数量为奇数,则会剩余一个,但回文子串中间可以加入一个单独的字母,若有奇数数量的字母最后可以为

Hello_R的博客 450

①电子产品拆解分析-暖手宝

电子产品拆解分析-暖手宝 ①按键三档调温暖手; ②长按进入氛围呼吸灯; ③安卓接口充电以及支持USB输出;

a6662580的博客 5294

M - String LCM(LCM字符串)

Let’s define a multiplication operation between a string aa and a positive integer xx: a⋅xa⋅x is the string that is a result of writing xx copies of aa one after another. For example, “abc” ⋅ 2 =⋅ 2 = “abcabc”, “a” ⋅ 5 =⋅ 5 = “aaaaa”. A string aa is divisi

weixin_51713993的博客 464

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

WINCC7.3破解文件

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

String LCM

先算出两个字符串的最小公倍数,再分别除以字符串长度,构造出两个新的字符串,就是最小公倍数除以老字符串长度个老字符串相加,打个比方,a字符串长度为4,b字符串长度为6,最小公倍数就是12,那么新字符串a就是12 / 4个老的字符串a相加,b同理,如果两个新的字符串相等,九叔出一个新的字符串,否则输出-1。

2301_81718511的博客 559

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

构建回文串检测-c语言

构建回文串检测 给你一个字符串 s,请你对 s 的子串进行检测。 每次检测,待检子串都可以表示为 queries[i] = [left, right, k]。我们可以 重新排列 子串 s[left], …, s[right],并从中选择 最多 k 项替换成任何小写英文字母。 如果在上述检测过程中,子串可以变成回文形式的字符串,那么检测结果为 true,否则结果为 false。 返回答案数组 answer[],其中 answer[i] 是第 i 个待检子串 queries[i] 的检测结果。 注意:在替换时,

weixin_43327597的博客 450

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

构造字符串回文串

F 题意:给你n个长度为m的字符串,任意拼接字符串,求使其构成回文串的最长能拼接的长度和回文串序列 一开始看到这个题的思路是先求出每个字符串的反串,然后用两个循环,外循环表示第几个字符串,即字符串的位置,内循环表示该字符串以后的位置,从前往后找,如果当前位置的字符串在以后的字符串的反串中找到相等的,就说明当前的位置及其反串可构成回文串,重复以上过程。然后再找出字符串反串等于本身的字符串作为回文串的中间串,找出所有符合的字符串,进行拼接。但是我不太会实现代码,写了一半就写不出来了,一是求反串用for循环比较复

weixin_51443397的博客 1095

算法题从初级到高级

大纲入门 入门 1001 害死人不偿命的(3n+1)猜想 #include <iostream> using namespace std; int main() { int n; cin >> n; int k = 0; while (n != 1) { if (n % 2 == 0) { n /=...

qiaoer的博客 328

Codeforces 1473B - String LCM

Codeforces 1473B - String LCM 代码有点长,但是很清楚!!

m0_63147389的博客 231

使用一维数组的LCS解法

<br />回文字符串时间限制:3000 ms  |  内存限制:65535 KB难度:4描述所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。输入第一行给出整数N(0<N<100)<br />接下来的N行,每行一个字符串,每个字符串长度不超过1000.输出每行输出所需添加的最少字符数样例输入1 Ab3bd样

maybeevil的专栏 1382

构造回文:添加字符

题目描述 给定一个字符串str,如果可以在str的任意位置添加字符,请返回在添加字符最少的情况下,让str整体都是回文字符串的一种结果。 输入 AB 输出 ABA 思路 采取动态规划的方式: dp[i][j]表示字符子区间[i=>j]构造成回文最少的添加字符数量 那么存在以下的递推关系: 如果str[i]==str[j]那么dp[i][j]=dp[i+1][j+1] 即如果区间首尾相等 那么只需要考虑内部即可 如果str[i]!=str[j] 那么dp[i][j]=min(dp[i+1]

一只老风铃 856

牛客网-构造回文字符串

今天的题目非常有点意思,在题目给定的字符串上构造回文子串,题目具体如下: 初看这道题目好像套路不一样,在一个给定的字符串中构造回文串?因为字符的长度在[1,1000]之间,所以回文串的最小长度是1.回文串的最大的特点就是对称。那么最后所形成的回文字串有如下两种形式: (1) xxa1xa2xxa3xa3xxa2xa1x; (2) xa1xa2xa3xa4xa3xa2xa1x;

caoyan_12727的博客 2290

【LeetCode】1400. 构造 K 个回文字符串 Construct K Palindrome Strings

作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录题目描述题目大意解题方法统计奇数字符出现次数日期 题目地址:https://leetcode-cn.com/problems/construct-k-palindrome-strings/ 题目描述 给你一个字符串 s 和一个整数 k 。请你用 s 字符串中 所有...

负雪明烛 1217

LeetCode-Python-1400. 构造 K 个回文字符串(字符串 + 哈希表)

给你一个字符串 s和一个整数 k。请你用 s字符串中 所有字符构造 k个非空 回文串。 如果你可以用s中所有字符构造k个回文字符串,那么请你返回 True,否则返回False。 示例 1: 输入:s = "annabelle", k = 2 输出:true 解释:可以用 s 中所有字符构造 2 个回文字符串。 一些可行的构造方案包括:"anna" + "elb...

Keep Coding 523

java----构造回文字符串java(动态规划)【手写演算残图】

问题描述 草稿解决过程 (字丑别喷)   代码实现 import java.util.Scanner; /** * Created by Admin on 2017/3/26. */ public class test02 { public static int HuiWenNum(String str){ String rev=n...

weixin_33958366的博客 465

字符串_构造回文字符串

题目描述 给定一个字符串,删去若干个字符后使其成为一个回文字符串,求最少删除字符的数量使其成为一个最长的回文字符串。例如abab这个字符串,最少可以删除一个字符使其称为长度为3的字符串aba或者bab。 样例输入 book abcaba 样例输出 2 1 解题思路 删去若干个字符使字符串变成回文字符串, 意味着去发现字符串中原有的...

tsing1996的博客 1202
上一篇: 51Nod 1089 最长回文子串 V2(Manacher算法)——————Mancher,马拉车算法
下一篇: HDU 2058 The sum problem——————数学
陶鸿杰
博客等级 码龄9年 93粉丝 298原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值