Unique Palindromes

可以就看官方解答,写的比较清楚

这个引理好像比较重要,可以记住,看看洛谷题解的思路

说下官方解答最后一段的意思:这么做就可以保证不会因为添加a,b,c三个字母中的某一个字母而产生回文串,比如添加a,添加的地方前面是c(或"a symbol that wasn't used"),而在之前的a后面是b,显然不可能是回文串

update 2024.9.7

首先观察样例,发现从YES的样例中暂时看不出来什么,于是先看NO的样例,尝试找出不行的条件

观察倒数第三个样例(因为只有一个限制,比最后一个样例简单)猜测引理。引理的证明确实有难度,对回文串的性质的了解也要有所提升,如下图

image

假设原串是一个回文串,那么绿色串翻转过来就等于橙色串(尽管两个串的长度超过了原串的一半)

然后对于证明出来的引理的上下界,我们尝试构造。这个时候观察YES的样例,会发现很多像abc的这种构造,于是不难构造出P=3的字符串;观察第二个样例,也不难构造出P=n的字符串;然后尝试以这两种字符串为原型去构造整个字符串即可

posted @   最爱丁珰  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2023-07-10 LOJ10010 糖果传递
点击右上角即可分享
微信分享提示