[2018.07.17 T2] Palindromes

Java实现 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes import java.util.Scanner; public class Main { private static Scanner cin; public static void main(String args[]) throws Exception { cin = new Scanner(System.in); int a = cin.nextInt(); i... 阅读详情

暂无链接

Palindromes

【问题描述】

纸上得来终觉浅,绝知此事要躬行。

有一个小写字符串 s。我们定义 s 的一个子串的存在值为这个子串在 s 中出现的次数乘以这个子串的长度。

对于给你的这个字符串 s,求所有回文子串中的最大存在值。

【输入格式】

一行,一个由小写字母(a~z)组成的非空字符串 s。

【输出格式】

输出一个整数,表示所有回文子串中的最大存在值。

【输入样例】

abacaba

【输出样例】

7

【样例说明】

在第一个样例中,回文子串有 7 个:a,b,c,aba,aca,bacab,abacaba,其中:

a 出现 4 次,其存在值为 4:1:1=4
b 出现 2 次,其存在值为 2:1:1=2
c 出现 1 次,其存在值为 l:1:l=l
aba 出现 2 次,其存在值为 2:1:3=6
aca 出现 1 次,其存在值为 1=1:3=3
bacab 出现 1 次,其存在值为 1:1:5=5
abacaba 出现 1 次,其存在值为 1:1:7=7

故最大回文子串存在值为 7。

【数据范围】

对 10%10%的输入数据 :1≤|S|≤1001≤|S|≤100。

对 20%20%的输入数据 :1≤|S|≤10001≤|S|≤1000。

对 40%40%的输入数据 :1≤|S|≤100001≤|S|≤10000。

对 70%70%的输入数据 :1≤|S|≤1000001≤|S|≤100000。

对 100%100%的输入数据 :1≤|S|≤3000001≤|S|≤300000。

题解

不愧为最水的一场考试。

很裸的一道回文自动机,增量构造时即可统计每个回文串的出现次数,最后拓扑递推即可得到答案。

代码
#include<bits/stdc++.h>
using namespace std;
const int M=3e5+5;
char ch[M];
int last,odd=1,even=2,tot=2,p,cot[M],son[M][26],len[M],fail[M];
void in(){scanf("%s",ch+1);}
bool go(int v,int x,int pos){return ch[pos-len[v]-1]==ch[pos];}
void add(int x,int pos)
{
    for(;!go(last,x,pos);last=fail[last]);
    if(son[last][x])last=son[last][x];
    else
    {
        p=last,son[p][x]=++tot,len[tot]=len[p]+2;
        if(p==odd)fail[tot]=even;
        else{for(p=fail[p];!go(p,x,pos);p=fail[p]);fail[tot]=son[p][x];}
        last=tot;
    }
    ++cot[last];
}
void ac()
{
    int l=strlen(ch+1);
    last=odd,fail[odd]=fail[even]=odd,len[odd]=-1;
    for(int i=1;i<=l;++i)add(ch[i]-'a',i);
    long long ans=0;
    for(int i=tot;i>=1;--i)cot[fail[i]]+=cot[i],ans=max(ans,1ll*cot[i]*len[i]);
    printf("%lld",ans);
}
int main(){in();ac();}
zoj2744 Palindromes 字符串的题 题意是求给一个字符串算出其中有多少个回文子串(每个回文子串必须是连续的),关于这题由于数据范围才5000,所以可以用O(N*N)的动态规划去做或者是用暴力的搜索,每次枚举回文串的对称中点复杂度不超过O(N*N),但是用dp做就很蛋疼了,因为内存限制存不了所有的状态,所以得用滚动数组去存,下面将给出几种不同实现的代码。如果暴力枚举中点方法确实很简单,但我还是建议,写一下dp,/可以锻炼一下代码能了, 阅读详情

相关推荐

(一)企业微信 - 会话内容存档

企业微信获取会话记录。

专打丶小豆豆的博客 2894

LOJ#6387 「THUPC2018」绿绿与串串 / String (Manacher || hash+二分)

题目描述 绿绿和 Yazid 是好朋友。他们在一起做串串游戏。 我们定义翻转的操作:把一个串以最后一个字符作对称轴进行翻转复制。形式化地描述就是,如果他翻转的串为 RRR,那么他会将前 ∣R∣−1个字符倒序排列后,插入到串的最后。 举例而言,串abcd进行翻转操作后,将得到abcdcba;串qw连续进行 2次翻转操作后,将得到qwqwq;串z无论进行多少次翻转操作,都...

weixin_30256505的博客 280

保姆级教程:Halcon 3D点云匹配与差异分析避坑指南(从采样到可视化)

本文提供了一份详细的Halcon 3D点云匹配与差异分析实战指南,涵盖从模型准备到可视化的全流程。重点解析了STL文件读取单位误区、点云采样密度优化、表面模型创建技巧以及差异分析的专业手法,帮助用户避开常见陷阱,提升工业检测效率与精度。

weixin_33728268的博客 402

Palindromes

A regular palindrome is a string of numbers or letters that is the same forward as backward. For example, the string "ABCDEDCBA" is a palindrome because it is the same when the string is read from lef...

Cworld2017的博客 1042

Unity-Chan Toon Shader卡通渲染学习

2.0 (UTS2)是一款用于图像和视频的卡通着色器,旨在满足从事卡通着色 3DCG 动画的创作者的需求。二、从0-1复刻UTS21.漫反射UTS2的漫反射部分主要有三个层组成,分别是基本颜色、第一阴影色和第二阴影色,分别对应着美术理论中的白、灰、黑。

qq_63133691的博客 2543

Anchor graph 对齐文献解读

Align then Fusion: Generalized Large-scale Multi-view Clustering with Anchor Matching Correspondences文献解读

atease0001的博客 1165

Palindromes(递归)

问题 B: Palindromes 时间限制: 2 Sec  内存限制: 64 MB 提交: 33  解决: 6 [提交][状态][讨论版] 题目描述 A regular palindrome is a string of numbers or letters that is the same forward as backward. For example, the str

qq_40559067的博客 702

【吃瓜教程】周志华西瓜书课后习题第一章答案

第一章 1.1表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间。 编号 色泽 根蒂 敲声 好瓜(标记) 1 青绿 蜷缩 浊响 是Y 4 乌黑 稍蜷 沉闷 否N 知识储备: 假设空间: 所有假设组成的空间 版本空间:与训练集一致的假设集合 从假设空间到版本空间算法大致如下: 1.删除与正例不一致的假设且删除与反例一致的假设 2.删除与正例不一致的假设 3.删除与反例一致的假设 具体选择哪种

MaxQuYY的博客 8371

UVA - 401-Palindromes

题目链接:Palindromes UVA - 401 Palindromes Time Limit:3000MS   Memory Limit:Unknown   64bit IO Format:%lld & %llu SubmitStatus Description A regular palindrome is a

Never say never 863

准确率、召回率、f1指标计算的区别

准确率是模型正确预测的样本占总样本的比例。

stephen147的博客 1415

基于simulink的电气弹簧ES稳压控制模型仿真

若要补偿母线电压的谐波,需控制ES上的谐波,即在单闭环母线电压有效值控制的基础上,增加谐波抑制环节来进行谐波控制,现有的各种检测和抑制谐波的方法有采用模拟滤波器、傅里叶分析进行谐波分析、基于瞬时无功功率理论的方法等。当关键负载ZC为电流源型非线性负载时,电路原理图如图7所示,由于电流源型非线性负载可以等效为谐波电流源,关键负载电流ic便会含有谐波分量,导致输电线电流is和母线电压VS同样会含有谐波分量,导致供电质量的严重下降,对用电设备的正常工作造成影响。分别为流过线路阻抗、非关键负载、关键负载的电流,

FPGA/MATLAB学习教程/源码/项目合作开发 1633

UVa 401 - Palindromes

这题是Rujia Liu推荐的第一个字符串题。 题意很容易看懂,就是给出字符串,判断其是否是回文或镜面对称回文。输出有4种情况,给出的表格做了很清楚的说明。 思路:写两个函数,is_palindrome()判断是否是回文串,is_mirrored()判断是否是镜像对称串。

程书画的 BLOG 4775

C#调用opencv的dll

opencv算法和界面配合,刚入职的时候尝试过,利用的MFC,调试起来很痛苦。 后来基本都没怎么用界面,DOS的黑窗口,opencv自带的显示界面及滑动条凑合着调试用。 最近有点时间,刚好双十一在一个视觉群里看到了一个讲C#调用opencv的dll的课程,鉴于群主也是那门课的讲师,在平时解答群员的问题的时候很细心,能力也很强,因此有了这篇文章。 根据相机不同动态调用相机默认的属性...

Learning by doing 2975

E. Making Anti-Palindromes(ranting 1600)超详细题解

E. Making Anti-Palindromes(ranting 1600)超详细题解

Bill_HJR的博客 419

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...

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

2018icpc北京Palindromes推规律

题意: 时间限制:1000ms 单点时限:1000ms 内存限制:512MB 描述 Recently, Nvoenewr learnt palindromes in his class.A palindrome is a nonnegative integer that is the same when read from left to right and when read from righ...

Ivan_zcy的博客 518

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

UVa 401 Palindromes

UVa 401 Palindromes 唔……这个题,抄的书,因为要是我写的话只能暴力了,反正暴力的量也不是很大嘛,但是总有暴力解决不了的时候,所以……我是不是之前就是这么一步步被拉下的? 今天学了个新函数 isalpha(); A regular palindrome is a string of numbers or letters that is the same forward ...

mandiheyanyu的博客 235

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

UVA-401 Palindromes

2016-07-12 UVA - 401 Palindromes 题目大意:判断是否回文、镜面。回文即从左往右与从右往左相同。镜面根据所提供的表格,可能存在非法字符。一开始理解错题意,以为不存在非法字符就是镜面,实际上是从左往右根据表格将全部字符化为镜像后,要与从右往左相同。 解题思路:遍历每个元素,进行回文的判断,是回文的话tag[0] = 1 ,不是的话tag[0]

振丿Love 384

USACO section 1.5.2 Prime Palindromes

USACO section 1.5.2 Prime Palindromes 1. 无数遍TLE的题,快疯了,最后没办法,只能看别人的代码,最好的一个代码,写了下来,但是还有一点地方不太明白,这是一种新的方法, 以下是代码 /* ID: dollar4 PRO...

dayong9372的博客 189

回文串和镜像串,组合不同,下标为何*2 。 UVA 401 Palindromes 回文词

回文串和镜像串,组合不同,下标为何*2 。 UVA 401 Palindromes 回文词 题解就不在这里复制了,这里就是分析一下: cout << msg[2 * mFlag + pFlag] 。 为什么输出结果 2 *m, 1 * p.这之间有怎样的关系? 回文,镜像串,这是4种组合。 题中的msg[0]是非回文,其实省略了, 全称是: 非回文、非镜像。...

diaoailu9206的博客 138

题解:CF1951E No Palindromes

我们考虑将连续的相同字符分为一段,然后将没两段或三段合并,得到答案。分为若干个非回文子串,输出一组可行解或输出。

m0_73020012的博客 966

UVA 11584 Partitioning by Palindromes

题意:  给出一串字符串,要求将它划分成尽量少的字符串,使划分后的所有子串都回文。 解法: 设dp[i]为将0~i划分后的最少回文子串数,有如下状态转移: dp[i] = dp[j] +1,0<=j<i且区间[j+1,i]回文。 /* ********************************************** Author : Nero Created Time:

= = 1002

XOR Palindromes

You are given a binary string sss of length nnn (a string that consists only of 000 and 111). A number xxx is good if there exists a binary string lll of length nnn, containing xxx ones, such that if each symbol sis_isi​ is replaced by si⊕lis_i \oplus l_is

Pretty Boy Fox的博客 1054

Luogu P1217 回文质数 Prime Palindromes

Luogu P1217 回文质数 Prime Palindromes

PanDaoxi 372
上一篇: [2018.07.17 T1] 字符串最大值
下一篇: BZOJ2160 拉拉队排练
ShadyPi
博客等级 码龄9年 1万+粉丝 637原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShadyPi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值