P1435 回文字串【洛谷算法习题】 📅 发布时间:2026/7/8 1:47:18 👁️ 浏览次数: P1435 回文字串网页链接P1435 回文字串题目背景IOI2000 第一题题目描述回文词是一种对称的字符串。任意给定一个字符串通过插入若干字符都可以变成回文词。此题的任务是求出将给定字符串变成回文词所需要插入的最少字符数。比如Ab3bd \verb!Ab3bd!Ab3bd插入2 22个字符后可以变成回文词dAb3bAd \verb!dAb3bAd!dAb3bAd或Adb3bdA \verb!Adb3bdA!Adb3bdA但是插入少于2 22个的字符无法变成回文词。注意此问题区分大小写。输入格式输入共一行一个字符串。输出格式有且只有一个整数即最少插入字符数。输入输出样例 #1输入 #1Ab3bd输出 #12说明/提示数据范围及约定记字符串长度为l ll。对于全部数据0 l ≤ 1000 0l\le 10000l≤1000。解题思路本题是经典的回文构造问题核心通过问题等价转化将最少插入字符数求解转化为「原串与逆序串的最长公共子序列LCS」问题通过二维动态规划高效求解。问题等价性推导插入最少字符使字符串变为回文本质是尽可能保留原串中已有的对称字符结构回文字符串的正序与逆序完全一致因此原串中能构成回文的字符必然同时出现在原串和它的逆序串中且相对顺序保持一致。这部分最长的对称字符序列恰好等于原串与逆序串的最长公共子序列LCS。LCS长度越长需要补充的对称字符越少。最终结论最少插入字符数 字符串总长度 - 原串与逆序串的LCS长度。动态规划求解LCS状态定义dp[i][j]表示原串前i个字符、逆序串前j个字符的最长公共子序列长度。边界条件当i0或j0时空串的公共子序列长度为0即dp[0][j] dp[i][0] 0。状态转移若当前位置两字符相等该字符可加入公共子序列dp[i][j] dp[i-1][j-1] 1。若字符不相等取「舍弃原串第i个字符」或「舍弃逆序串第j个字符」中的更优解即dp[i][j] max(dp[i-1][j], dp[i][j-1])。算法总时间复杂度为O ( n 2 ) O(n^2)O(n2)完全适配n ≤ 1000 n \le 1000n≤1000的数据规模。总结核心逻辑将回文最少插入问题转化为原串与逆序串的LCS问题通过二维DP计算最长公共子序列总长度减去LCS长度即为答案。关键操作逆序串构造、LCS动态规划转移、结果等价换算。效率保障千级长度的平方级运算量运行开销极低轻松通过时间限制。代码简要说明字符串构造读入原串s1下标从1开始同步构造逆序串s2即s2[i] s1[n-i1]。DP递推双重循环遍历两个字符串的每个位置按字符是否相等执行对应状态转移填充dp数组。结果计算dp[n][n]为两串的最长公共子序列长度用总长度减去该值得到最少插入字符数并输出。下标设计字符串从1开始索引天然适配DP数组的边界条件全局数组默认初始化0即可满足边界要求。输入输出使用scanf/printf保证读写效率同时天然支持区分大小写的字符比较符合题目约束。代码内容#includebits/stdc.husingnamespacestd;#defineendl\ntypedeflonglongll;typedefunsignedlonglongull;typedefvectorvectorllvvt;typedefpairll,llpll;constll N1e310;constll INF1e18;constll M1e610;constll mod1e97;ll n;ll dp[5005][5005];chars1[5005],s2[5005];intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);scanf(%s,s11);nstrlen(s11);for(ll i1;in;i)s2[i]s1[n-i1];for(ll i1;in;i)for(ll j1;jn;j)if(s1[i]s2[j])dp[i][j]dp[i-1][j-1]1;elsedp[i][j]max(dp[i-1][j],dp[i][j-1]);printf(%lld\n,n-dp[n][n]);return0;}
AI 看不懂老项目?先用“项目说明书 + 目录树”把上下文交给它 摘要 接手老项目时,AI 最容易给出“看起来很合理、实际上没法落地”的答案,根源通常不是模型不够强,而是项目上下文不完整。本文给出一套可直接复制的流程:先扫描目录树、过滤敏感内容、生成 PROJECT_CONTEXT.md,再让 … 2026/7/8 1:45:17
前端构建速度优化 前端构建速度优化:提升开发效率的关键 随着前端项目规模不断扩大,构建工具如Webpack、Vite等已成为开发流程中不可或缺的一部分。构建速度的缓慢常常成为开发效率的瓶颈,尤其是在频繁修改代码时,漫长的等待时间令人头疼。如何优化… 2026/7/8 1:43:16
3.6 全链路压测与混沌工程——别等黑天鹅来了再后悔 2014年,Netflix的云架构团队在旧金山的AWS峰会上,向台下的几千名工程师展示了一个他们内部已经跑了三年的工具。这个工具的名字叫Chaos Monkey。它的功能极其简单,也极其疯狂:它会在没有任何预警的情况下,随机地从Netf… 2026/7/8 1:39:15
酒水品牌策划设计公司怎么选?从东莞视维(SIVIBRAND)的酒水案例看专业分工 酒水是个"看脸"的赛道——货架上一排排瓶子,消费者扫过去不过两三秒,包装和VI能不能抓眼,往往决定了一款新品有没有被拿起的资格。这几年低度潮饮、精品葡萄酒、国风白酒轮番起势,催出一批专做酒水品牌策划设计的机构。… 2026/7/8 3:19:46
OpenCore Legacy Patcher完全指南:让老款Mac免费升级最新macOS的终极方案 OpenCore Legacy Patcher完全指南:让老款Mac免费升级最新macOS的终极方案 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为苹果官方不再支持… 2026/7/8 3:17:45
RC电路应用 RC电路除了微分电路和积分电路这两种特定时间常数条件下的极限应用外,在实际工程中还有以下四种更为广泛的应用类型,它们是根据功能用途和频率响应特性来划分的。1. 滤波电路(频率选择)这是RC电路最核心的应用,根据信号… 2026/7/8 3:15:45
PyTorch 2.0 线性回归实战:3步从数据加载到模型保存(附完整代码) PyTorch 2.0 线性回归实战:从数据生成到模型部署的全流程指南1. 现代PyTorch线性回归的核心优势PyTorch 2.0为线性回归任务带来了显著的性能提升和编码简化。与早期版本相比,它通过以下创新点改变了开发者的工作方式:编译优化:tor… 2026/7/8 3:13:45
Momenta冲刺港交所春风得意,百度陷“萝卜快跑”危机,AI赛道冰火两重天? 资本新贵与昔日先驱6月23日,Momenta正式公布招股说明书,发行市值约695亿港元(约合人民币601亿元)。招股书显示,2023 - 2025年其营业收入从7.43亿元猛增至24.13亿元,三年翻三倍,年均复合增长率超… 2026/7/8 3:11:44
商品批量上下架和库存预警能用AI吗?企业级AI Agent端到端落地全解析 在2026年当下的电商与现代供应链管理体系中,商品批量上下架与库存预警早已不再是简单的手动操作或静态阈值设定,而是演变成了以AI Agent(智能体)为核心的自动化革命。随着企业数字化进程从“信息化”迈向“智能化”,传… 2026/7/8 3:09:44
BetterNCM安装器:高效管理网易云插件的最佳选择 BetterNCM安装器:高效管理网易云插件的最佳选择 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐插件的繁琐安装流程而烦恼吗?BetterNCM安装器是… 2026/7/8 0:02:48
运动控制系统安全设置对比:ECI3808的3种限位保护与急停逻辑实现 运动控制系统安全机制深度解析:限位保护与急停逻辑的设计哲学在精密制造与自动化领域,运动控制系统的安全设计绝非简单的功能堆砌,而是一套融合了机械工程、电气原理和软件算法的防御体系。当一台数控机床以每分钟数万转的速度运转࿰… 2026/7/8 0:06:48
AI大模型应用开发:小白也能抓住的红利风口,收藏这篇入门指南! 文章指出,虽然微软等科技巨头在裁员,但英伟达等公司却在积极扩招AI相关人才,尤其是具身智能、仿真等领域。AI行业正在经历结构性调整,传统岗位被淘汰,而大模型应用开发等新岗位需求旺盛。对于想转行或学习AI的普通人来… 2026/7/8 0:10:49
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/7 11:26:57
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/7 11:26:58