首页 > 其他分享 >E. No Palindromes

E. No Palindromes

时间:2024-07-18 16:51:17浏览次数:11  
标签:... Palindromes No int len long

原题链接

题解

1.判断整体是不是回文串

2.如果是,找第一个与 \(s_1\) 不同的字符 \(s_i\),如果 \(s[i+1,n]\) 是回文串,代表 \(s\) 一定长这样 \(AbAb....AbA\)

3.如果 \(A\) 的长度为一,或者 \(b\) 只出现一次,容易想到没有分割方法

4.不然可以 \(Abaaa...,...aaabAbAbA\)

code

#include<bits/stdc++.h>
#define ll long long
using namespace std;

void solve()
{
    string s;
    cin>>s;

    int len=s.size();

    int flag=0;
    int it=len;
    for(int i=0;i<len;i++)
    {
        if(s[i]!=s[len-i-1]) flag=1;
        if(s[i]!=s[0])
        {
            it=min(it,i);
        }
    }
    if(flag)
    {
        cout<<"YES\n1\n"<<s<<'\n';
        return;
    }
    if(it==len)
    {
        cout<<"NO\n";
        return;
    }

    flag=0;
    for(int i=it+1;i<len;i++)
    {
        if(s[i]!=s[len-(i-it)]) flag=1;
    }
    if(flag)
    {
        cout<<"YES\n2\n"<<s.substr(0,it+1)<<" "<<s.substr(it+1)<<'\n';
    }
    else
    {
        if(it==1||2*it+1==len)
        {
            cout<<"NO\n";
        }
        else
        {
            cout<<"YES\n2\n"<<s.substr(0,it+2)<<" "<<s.substr(it+2)<<'\n';
        }
    }
}
int main()
{
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int t=1;
    cin>>t;
    while(t--) solve();
    return 0;
}


标签:...,Palindromes,No,int,len,long
From: https://www.cnblogs.com/pure4knowledge/p/18309952

相关文章

  • spring 服务端如何设置 If-None-Match 和 ETAG
    在Spring框架中,特别是使用SpringMVC或SpringBoot时,设置ETag和处理If-None-Match请求头通常是通过一些自定义的逻辑来实现的,因为SpringMVC本身不直接提供自动化的ETag生成和验证机制。不过,你可以通过以下几种方式来实现:1.使用拦截器(Interceptor)或过滤器(Filter)你可以创建一个......
  • nginx出现499错误码的原因以及proxy_ignore_client_abort配置 及 nginx日志配置变量大
    一、nginx出现499错误码的原因以及proxy_ignore_client_abort配置1. nginx出现499错误码的原因    最近发现服务器上出现很多499的错误,出现499错误的原因是客户端关闭了连接,在我这篇文章:服务端在执行时中途关闭浏览器退出之后php还会继续执行吗?个人实践实验得到结果( h......
  • 运维系列(亲测有效):Ubuntu 22.04 server 安装GNOME/XFCE/KDE桌面环境
    Ubuntu22.04server安装GNOME/XFCE/KDE桌面环境Ubuntu22.04server安装GNOME/XFCE/KDE桌面环境在UbuntuServer上安装桌面环境可以通过以下步骤完成:首先,通过SSH或物理访问方式登录到`UbuntuServer`。确保系统处于最新状态,运行以下命令进行更新:安装所需的桌面环境。......
  • 猫头虎分享已解决Bug ||Asset validation failed (90296) App sandbox not enabled. T
    ......
  • P1912 [NOI2009] 诗人小G 题解
    我们设\(s_i\)表示前\(i\)个句子的长度之和,这样就有dp\[f_i=\min_{j<i}\big\{f_j+|s_i-s_j+i-j-1-L|^P\big\}\]我们设\(w(l,r)=|s_r-s_l+r-l-1-L|^P\),如果\(w\)满足四边形不等式,则原dp具有决策单调性。设\(u=(s_i+i)-(s_j+......
  • NOI2024游记
    DAY-1昨天晚上熬夜有点晚了,今天上午睡了俩小时。下午午觉又睡了一个小时。啥?笔试和试机?太平凡了不想去考。笔试前几天考了一下,考了640.5分,比全场任何人笔试成绩都高。试机不想试,因为电脑上没有冰与火之舞。晚上又熬夜到十二点才睡觉,舒服。DAY1早上七点起的床,然后回笼觉......
  • Jupyter notebook
    在JupyterNotebook中,有许多快捷键可以提高效率和用户体验。以下是一些常用的快捷键:命令模式(按Esc进入)Enter:进入编辑模式Shift+Enter:运行当前单元格,并选择下面的单元格Ctrl+Enter:运行当前单元格Alt+Enter:运行当前单元格,并在下面插入新的单元格Y:将单元格转换为代......
  • 用Nginx反向代理之后,swagger出现no response from server错误的解决办法
    问题描述:本地运行项目打开swaager可以用,但是上传到服务器用nginx做反向代理的时候返回"error":"noresponsefromserver",且网址有端口,swaager的请求url端口丢失,使用了默认80端口  问题原因:因为在配置nginx反向代理的时候,没注意到配置代理的端口,导致端口丢失!解决方案:使......
  • Java语言,MySQL数据库;基于Node+Vue的健康信息管理系统的设计与实现32355(免费领源码)计算
    Node.js健康信息管理系统的设计摘要在如今IT技术快速发展和Internet广泛应用的时代,电子和网络技术给人们生活带来了便利,同时也会直接或间接损害人们的健康。所以,本次的毕业设计创作的意义就是通过信息化的统一管理,给用户录入和查看健康信息提供了方便。本设计主要实现集人......
  • 题解:P10733 [NOISG2019 Prelim] Lost Array
    题解:P10733[NOISG2019Prelim]LostArray思路对于任意\(\min(X_{A_{i}},X_{B_{i}})=C_{i}\)。只要让\(X_{A_{i}}\)与\(C_{i}\)取\(\max\)值。\(X_{B_{i}}\)与\(C_{i}\)取\(\max\)值。这样可以让\(\min(X_{A_{i}},X_{B_{i}})\)绝对是\(C_{i}\)。对于为赋值......