Palindrome-(Manacher算法)

工程师职级胜任力框架 一、前言 尽管这些年国内的IT行业发展迅速,但是仍然欠缺一套比较综合性的面向工程师的职级胜任力框架,造成国内很多工程师大都一心只想成为技术大牛,而忽视了自己全方位的工程师职业素养和能力的培养。 最近我有幸读到了Circle CI公司分享的工程胜任力矩阵,发现这份文档就是一份比较贴合互联网研发型企业的工程师职级胜任力框架,于是我在它的基础上,重新整理出了一份更适合国内工程师阅读的《工程师职级胜任力框架》,并把它分享在波波的github站点上,希望这份文档对工程师的职业开发和成长有帮助。注,Circle CI. 阅读详情
题目链接:点击进入
题目

在这里插入图片描述
在这里插入图片描述

题意

给定一个字符串,求最长回文子串。

思路

Manacher算法模板

代码
#include<iostream>
#include<string>
#include<map>
//#include<unordered_map>
#include<queue>
#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<fstream>
#include<stack>
#define X first
#define Y second
#define INF 0x3f3f3f3f
#define P pair<int,int>
using namespace std;
typedef long long ll;
const double eps=0.01;
const int N=1010;
const int maxn=2e6+10;
const int mod=1000000007;
int p[maxn],cnt;
char str[maxn];
void Manacher(string s,int len)
{
    int l=0;
    str[l++]='$';
    str[l++]='#';
    for(int i=0;i<len;i++)
	{
        str[l++]=s[i];
        str[l++]='#';
    }
    int mx=0,di=0;
    for(int i=0;i<l;i++)
	{
		if(i<mx) p[i]=min(p[2*di-i],mx-i);//i 在最远回文距离之内
		else p[i]=1;					  //i 在最远回文距离之外
		//左端点为'$',右端点为'\0',不需要边界判断
        //更新最大半径
        while(str[i+p[i]]==str[i-p[i]]) p[i]++;
        //如果最远半径增大,更新半径边界
        if(i+p[i]>mx)
		{
            mx=p[i]+i;
            di=i;
        }
    } 
}
int main()
{
	string s;
    while(cin>>s)
	{
        if(s=="END") break;
        int len=s.length();
        Manacher(s,len);
        int ans=0;
        for(int i=0;i<2*len+4;i++)
            ans=max(ans,p[i]-1);
        printf("Case %d: %d\n",++cnt,ans);
    }
    return 0;
}
哨兵1号后向散射系数土壤水分反演 打开之前预处理之后的VH和VV极化的后向散射系数转存的tiff文件。 阅读详情

相关推荐

简单概述人形机器人的“大脑、小脑”

原创 仲翔云人形机器人产业通2024年09月13日 19:41上海人形机器人的大脑和小脑是其控制系统的关键组成部分,它们模拟了人类大脑和小脑的功能,以实现复杂的运动控制和决策过程。

AI生成曾小健3 2069

HDU 4513 吉哥系列故事——完美队形II (Manacher变形)

题意:假设有n个人按顺序的身高分别是h[1], h[2] ... h[n],从中挑出一些人形成一个新的队形,新的队形若满足以下要求,则就是新的完美队形:  1、连续的  2、形成回文串  3、从左到中间那个人,身高需保证不下降    问有组成完美队形的最多人数 题解:Manacher算法的变形。 首先我们来解释一下Manacher算法:在我看来就是一个优化的暴力。 我们首先统一奇偶...

weixin_33974433的博客 208

Arcgis填补栅格空缺值Nodata

Arcgis填补栅格空缺值Nodata

pass17的博客 1万+

吉哥系列故事——完美队形II-(Manacher算法)

题目链接:点击进入 题目 题意 求最长回文子序列,同时要求这个回文子序列从中间向两边非严格递减 思路 Manacher算法,在预处理的时候需要用不会影响题目的数字(负数和0等)来组成新的序列。 同时扩展回文子序列时需要多一句 str[i-p[i]]<=str[i-p[i]+2] 来保证从中点向两边非严格递减 (+2是因为相邻的数是预处理时添加的负数或0,不会影响原串的回文判定) 代码 #include<iostream> #include<string> #include&l

Cosmic_Tree的博客 228

MinerU安装指南:从源码到验证的完整流程

本文详细介绍了MinerU文档转换工具的安装流程,从源码获取、依赖安装到验证步骤,提供了完整的安装指南和常见问题解决方案。特别适合技术写作者和开发者快速部署这款高效的文档转换工具,提升工作效率。

weixin_29243279的博客 544

AIGC大模型应用教学平台

该平台采用最新的AI推理加速芯片,提供30Tops算力和32GB存储,能够运行常见的大语言模型如ChatGLM2、Llama2、Baicuan、Mistral等,也可以运行文生图扩散模型Stable Diffusion,提供大模型微调、量化、转换和加速推理服务。在此基础上,平台还提供常见的生成式AI应用,包括AIGC知识抽取增强(RAG)、AIGC绘画、AIGC会话聊天、数字虚拟人等应用,以便学生能够掌握最新的生成式AI模型微调、提示工程和智能体应用技能。

中智讯的博客 1204

吉哥系列故事――完美队形II(HDU-4513)

Problem Description 吉哥又想出了一个新的完美队形游戏!   假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则就是新的完美队形:   1、挑出的人保持原队形的相对顺序不变,且必须都是在原队形中连续的;   2、左右对称,假设有m个人形成新的队形,则第...

Alex_McAvoy的博客 585

opencv实现“找茬”

// 111.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include using namespace std; #define CVX_RED CV_RGB(0xff,0x00,0x00) #define CVX_BLUE CV_RGB(0x00,0x00,0xff)//定义宏,轮廓边框颜色 in

yanHa007的专栏 2094

Longest Palindromic Substring 算法总结

Longest Palindromic Substring 即寻找一个字符串的最长回文子串,这个问题是leetcode上面的一个题目,刚开始自己做的时候用了一个可能是效率最低的方法去实现,但是由于leetcode的代码提交时会评价代码的执行效率,因此,这种实现没能通过。仔细看一下代码的时间复杂度几乎是O(n³),所以慢是很自然的。下面是这个算法的实现:string longestPalindrome

Huoon的博客 679

Win11 1 月更新黑屏循环故障技术分析与解决方案

2026年1月30日Windows 11更新引发黑屏循环故障,主要影响2018年前出厂、采用MBR分区及特定BIOS固件的设备,尤其对使用经典版Outlook(POP协议)的用户影响显著。故障表现为系统无限重启黑屏,导致数据访问中断。分析表明,问题源于硬件兼容性、分区格式与系统更新的交互冲突。解决方案包括进入安全模式回滚更新、暂停自动更新、升级驱动/BIOS,以及等待微软官方补丁。建议用户更新前评估硬件兼容性并备份数据,企业环境应建立分阶段更新测试机制。该事件为系统更新风险管理提供了重要参考。

博客 1441

在 PFCG 中完成 SAP Fiori 对象分配:把 Business Catalog、Space、Page 与授权一次讲透

摘要:SAP Fiori权限配置的关键在于理解Business Catalog与Space的分层授权逻辑。传统SAP GUI中直接分配事务码的方式不适用于Fiori环境,必须通过PFCG为角色分配Catalog(提供应用访问权限)和Space(控制首页展示结构)。Catalog会自动解析所需OData服务授权,而Space则决定用户在Launchpad中看到的导航布局。常见错误包括直接分配Page而非其所属Space,或仅配置Space而忽略Catalog。最佳实践是优先使用Catalog驱动授权提议,再在

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 327

吉哥系列故事——完美队形II

manacher算法思想,写的时候查了好多>﹏<,还是有点难理解,弄了一天(lll¬ω¬) 吉哥又想出了一个新的完美队形游戏!   假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] … h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则就是新的完美队形:   1、挑出的人保持原队形的相对顺序不变,且必须都是在原队形中连续的; ...

jiruqianlong123的博客 294

ISO2626 --- Item Definition相关项定义

本文并不是针对ISO26262的一个项目,而是针对ISO26262的规范,我们在相关项定义阶段,我们需要做什么,我们的文档需要包含哪些内容的一个描述。

wj博客 909

【代码超详解】POJ 3974 Palindrome(Manacher 算法 · 模板)

一、题目描述 二、算法分析说明与代码编写指导 Manacher 算法 注意:fgets 的第二个参数给出的长度需要至少比字符串的最长长度大 2,因为 fgets 会保存换行符 ‘\n’,并在读取到 ‘\n’ 后写 0 结束字符串。如果只比字符串的最长长度大 1,那么当字符串的长度达到最大时,紧跟其后的 ‘\n’ 将不会被读取。下一次 fgets 时会因为读取到了 ‘\n’ 而直接结束读取,导致 ...

COFACTOR 280

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【Manacher算法】Palindrome

POJ 3974 Palindrome,模板题,求最长回文子串长度,算法用了 Manacher 算法

欢迎您的光顾awa 309

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Palindrome Centers Manacher算法

题目大意一个长度为n的字符串S, 告诉你以每个位置结尾的最长回文串长度, 要你输出以每个字符为中心的最长长度思路开始的时候以为是水题, 以为用题目给的回文串长度, 找到中心, 更新长度就好了, 但这样是错的, 因为如果以j为结尾的回文串中心是i, 以i为中心的最长回文串不一定是只到j, 后面号可能有一个大于j的k, 以i为中心, k为边界也是回文串, 但是以k结尾还可能有一个更长的回文串, 长度为偶

litmxs的博客 298

URAL1297 Palindrome【manacher算法】

1297. Palindrome Time limit: 1.0 second Memory limit: 64 MB The “U.S. Robots” HQ has just received a rather alarming anonymous letter. It states that the agent from the competing «Robots Unlimited» ha...

海岛Blog 559

[codeforces 1326D2] Prefix-Suffix Palindrome (Hard version) Manacher算法 马拉车算法

Codeforces Global Round 7 比赛人数10630 [codeforces 1326D2] Prefix-Suffix Palindrome (Hard version) Manacher算法 马拉车算法 总目录详见https://blog.youkuaiyun.com/mrcrack/article/details/103564004 也在线测评地址https://code...

mrcrack的博客 602

palindrome 回文 /// Manacher算法

判断最长不连续回文 #include <bits/stdc++.h> using namespace std; int main() { char ch[1500]; while(gets(ch)) { int len=strlen(ch),dp[1500],ans=0; for(int i=0;i...

babimei370256276的博客 95

POJ 3974-Palindrome(Manacher算法)

题目地址:POJ 3974 题意:求最长的回文串。 思路:同样是用Mancher算法在O(n)的时间内解决(我其实是来练练板子的#include <stdio.h> #include <math.h> #include <string.h> #include <stdlib.h> #include <iostream> #include <sstream> #include <algorithm

Rocky0429 1773

从Shortest Palindrome谈到Manacher和KMP算法

投出去的三份实习简历都没收到消息...略郁闷...只好闷头刷题了QAQ.... 最近按题目类型在重刷Leetcode, 当中做到Shortest Palindrome,开始是用后缀数组做,结果TLE... 只好用马拉车法AC...顺便用KMP算法写了一份AC代码.... 后缀数组方法就不说了,可以参考博文后缀数组学习笔记... 马拉车法(Manacher)可以参考博文Manacher算法.

Speknighter的专栏 729

Palindrome(manacher算法)

PalindromeTime Limit: 15000MS Memory Limit: 65536KTotal Submissions: 11080 Accepted: 4212DescriptionAndy the smart computer science student was attending an algorithms class when the professor asked t...

team39的博客 461

Extend to Palindrome - UVa 11475 Manacher算法

Problem E Extend to Palindromes Time Limit : 3 seconds       Your task is, given an integer N, to make a palidrome (word that reads the same when you reverse it) of l

BlueFissure's Blog 827

Prefix-Suffix Palindrome (Manacher算法)

题目链接 Manacher算法 #include<bits/stdc++.h> using namespace std; int t; string s; int q[2000006]; char ss[2000006]; int manacher(string a) { int len=a.size(); int now=0; for(int i=0;i<len...

郭源潮 323

POJ-3974 Palindrome(manacher算法)

题目链接:点击打开链接 经典的求最长回文子串题目,需要用到manacher算法。 manacher算法的具体介绍:http://blog.youkuaiyun.com/ggggiqnypgjg/article/details/6645824 #include #include #include #include #include using namespace std; const int maxn=1

CHeck_Check_check的博客 435

【Manacher算法】poj3974 Palindrome

Manacher算法教程:http://blog.youkuaiyun.com/ggggiqnypgjg/article/details/6645824 模板题,Code 附带注释: 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 using namespace std;...

weixin_34326429的博客 121

POJ:3974 Palindrome (Manacher算法)

Manacher算法:在O(n)的时间内求得最长回文子串。   在这里简单说一下这个算法。 首先在原字符串s之间加入一个特殊字符(原串中没有的)#作为标记构造一个新串ss。这样做可以其实可以把最长回文子串是奇数偶数两种情况合并为只有奇数一种情况。 然后,开一个数组p[]来保存以每个字符为中心的最长回文子串的长度。         下面进入关键的部分。 关于求以字符s[i]为中心的最长回

Fighting 824
上一篇: 吉哥系列故事——完美队形II-(Manacher算法)
下一篇: Best Reward-(扩展kmp)
Cosmic_Tree
博客等级 码龄7年 134粉丝 337原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值