Codeforces Global Round 7 D1. Prefix-Suffix Palindrome (Easy version)(字符串)
2024-10-18 19:57:20
题意:
取一字符串不相交的前缀和后缀(可为空)构成最长回文串。
思路:
先从两边取对称的前后缀,之后再取余下字符串较长的回文前缀或后缀。
#include <bits/stdc++.h>
using namespace std;
bool ok(const string &s,int l,int r){
while(l<=r&&s[l]==s[r]) ++l,--r;
return l>r;
}
void solve(){
string s;cin>>s;
int l=0,r=s.size()-1;
while(l<r&&s[l]==s[r]) ++l,--r;
int r2,l2;
for(r2=r;r2>=l;r2--) if(ok(s,l,r2)) break;
for(l2=l;l2<=r;l2++) if(ok(s,l2,r)) break;
cout<<s.substr(0,l)
<<((r2-l>r-l2)?s.substr(l,r2-l+1):s.substr(l2,r-l2+1))
<<s.substr(r+1)
<<"\n";
}
int main()
{
int t;cin>>t;
while(t--)
solve();
return 0;
}
最新文章
- JavaScript基础知识总结(二)
- 接口测试 postman
- filter:alpha(opacity=100,style=1)
- ViewFlipper的简单使用实现图片轮播效果
- 【python自动化第五篇:python入门进阶】
- SCOI2014省选总结
- 关于left join连接查询 两张表里有同名字段的问题
- Spring、Spring MVC、MyBatis
- hibernate ——helloWorld程序(annotation配置)
- C字符串处理函数
- Centos常用命令之:文件与目录管理
- cocos2d-x 欢乐捕鱼游戏总结
- Dev GridControl数据修改后实时更新数据源(转)
- [ZOJ2069]Greatest Least Common Multiple
- Practical Node.js (2018版) 第8章:Building Node.js REST API Servers
- android 很多应用中用到的 listView + viewPager
- 【转】Graphics 关于呈现质量与合成模式
- hdu-1711(kmp算法)
- bg,fg,job命令详解
- SQL语句字符串处理大全