暂无链接

第三题

【问题描述】

有一个字符串S,你需要构造一个字符串T,使得T重复两次再在某个位置插入一个
字符后能得到S。

【输入格式】

一行一个字符串S。

【输出格式】

输出T,若无解,输出NOT POSSIBLE.若多解,输出NOT UNIQUE.

【输入样例1】

PUPILPQUPIL

【输出样例1】

PUPIL

【输入样例2】

PUPILPUPIL

【输出样例2】

NOT POSSIBLE

【输入样例3】

HAHAH

【输出样例3】

NOT UNIQUE

【样例说明3】

T可能是HA或AH。

【数据范围】

用n表示S的长度。

对于30%的数据,2<=n<=10;

对于60%的数据,2<=n<=2000;

对于100%的数据,2<=n<=2000000。

题解

史上最水题目名+不给部分分逼选手开$3$小时车系列。

直接$O(n)$枚举那个字母应该被删掉,用哈希花式过。

代码
#include<bits/stdc++.h>
#define ull unsigned long long
using namespace std;
const int N=2e6+5;
char ch[N];
ull base=19260817,mod=19491001,K[N],H[N];
int L;
void in(){scanf("%s",ch+1);}
void ac()
{L=strlen(ch+1);if((L&1^1)||L<=2)puts("NOT POSSIBLE"),exit(0);K[0]=1;for(int i=1;i<=L;++i)K[i]=K[i-1]*base;for(int i=1;i<=L;++i)H[i]=H[i-1]*base+ch[i];int M=1+L>>1,ans=0,res=1e9;bool f1=0,f2=0;ull hh,h1=H[M-1],h2=H[L]-H[M]*K[L-M];h1=h1+h1*K[M-1],h2=h2+h2*K[M-1];for(int i=1;i<=L;++i){hh=H[L]-H[i]*K[L-i]+H[i-1]*K[L-i];if(i<M){if(hh==h2)res=i,f1=1;}else if(hh==h1){res=i,f2=1;}if(f1&&f2)break;}if(!f1&&!f2)puts("NOT POSSIBLE"),exit(0);if(f1&&f2&&h1!=h2)puts("NOT UNIQUE"),exit(0);if(res<M)for(int i=M+1;i<=L;++i)putchar(ch[i]);else for(int i=1;i<M;++i)putchar(ch[i]);
}
int main(){in();ac();}

[2018.07.31 T3] 第三题相关推荐

  1. CCF系列题解--2018年3月第三题 URL映射

    问题描述 URL 映射是诸如 Django.Ruby on Rails 等网页框架 (web frameworks) 的一个重要组件.对于从浏览器发来的 HTTP 请求,URL 映射模块会解析请求中的 ...

  2. 2018年第九届蓝桥杯【C++省赛B组】【第三题:乘积尾零】——附解题代码

    欢迎大家加入CSDN-蓝桥杯竞赛社区 https://bbs.csdn.net/forums/lanqiaobei 蓝桥杯历届题目及解析汇总(附思路及代码)[点击此进入] 蓝桥杯,ACM算法学习[文档 ...

  3. 华为7.31笔试(第一题AC、第二题AC、第三题超纲)

    第一题 题目:小明是个强迫症卖家,有10000台设备,卖的均价要求最接近D元,输出卖出的台数N,总售价M 输入 0<D<10,精确到小数点后12位   :   输出 M N 思路: 均价与 ...

  4. 辽师836c语言真题,2018年武汉科技大学考研真题硕士研究生入学考试试题

    2018年武汉科技大学考研真题硕士研究生入学考试试题 下载地址如下: 2018-10-9 10:07:29 上传 需要: RMB 10 元 2018-10-9 10:07:06 上传 需要: RMB ...

  5. 2011年成都信息工程学院第二季极客大挑战逆向第三题Game破文

    [文章标题]: 2011年成都信息工程学院第二季极客大挑战逆向第三题Game破文 [文章作者]: JoyChou [软件名称]: Game [软件大小]: 176KB [下载地址]: http://w ...

  6. 2018.07.17【省赛模拟】模拟B组 比赛总结

    题目 [GDKOI2003]最大公共子串 [题目描述] 从一个给定的串中删去(不一定连续地删去)0个或0个以上的字符,剩下的字符按原来的顺序组成的串是该串的字串.例如:"", &q ...

  7. 湖南农业大学计算机考试试题,2018年湖南农业大学考研真题硕士研究生入学考试试题...

    2018年湖南农业大学考研真题硕士研究生入学考试试题 下载地址如下: 2018-10-3 07:27:08 上传 需要: RMB 10 元 2018-10-3 07:27:07 上传 需要: RMB ...

  8. 蓝桥杯单片机十一届省赛_“第十届蓝桥杯青少组C++省赛”前三题解题思路及参考答案!...

    关注 及时了解信息学竞赛相关资讯 第十一届蓝桥杯青少组C++省赛即将到来,待考的各位小同学有没有刷完去年的真题呢?以下是为大家复习准备的"第十届蓝桥杯青少组C++省赛"前三题解题思 ...

  9. NOIP2008提高组(前三题) -SilverN

    此处为前三题,第四题将单独发布 火柴棒等式 题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0 ...

  10. c语言关于链表选择题看不懂,有关链表基本操作三题

    因为觉得C语言老师讲链表讲的太匆忙了,况且PPT太乱太杂,看不懂 因此特地重写了次这周三上机有关链表操作的三题.(所写题目默认已排序,不考虑排序) 问题A:在单链表中按学号查成绩 时间限制: 1 Se ...

最新文章

  1. segMatch:基于3D点云分割的回环检测
  2. hardmard积 用什么符号表示_简明算术教程——第四章 线性代数——第1节 矩阵环(二)...
  3. Golang 计算MD5值示例
  4. SQLServer2000数据库特有的1433端口号
  5. 青蛙学Linux—NFS
  6. 是Excel的图,不!是R的图
  7. 安装uwsgi报错:error linking uWSGI解决方法
  8. 【Spring】CGLIB动态代理
  9. 解决 unity 2d 中人物碰撞后抖动旋转问题
  10. 【零基础学Java】—final关键字与四种用法(二十九)
  11. 翻译成汉语的英文版书籍,为什么会薄很的原因
  12. 【2017-7-17】动软代码生成器 数据库连接 配置失败 解决方法
  13. css背景和边框标签总结
  14. java 图片处理之寸照背景色替换
  15. JavaScript格式化输出时间
  16. 如何在Windows server 2012配置DHCP服务器
  17. Motrix - 清爽开源免费的全能下载工具 (跨平台、支持 BT / 磁力链 / 百度网盘)
  18. 九度OJ北京航空航天大学2008机试题题解
  19. 瑞昱Realtek(Realtek HD Audio Driver)音频声卡驱动R2.49 for Win7_Vista
  20. 干货 | 面试过了,如何谈薪资?拿高薪Offer有哪些技巧?

热门文章

  1. 数据库服务器系统崩溃,mssql数据库系统崩溃后的一般处理步骤与方法
  2. Linux用户环境变量及操作
  3. line-height和height的区别
  4. 最长回文字串--动态规划
  5. cpu 之二 酷睿i3/i5/i7处理器到底简单区别
  6. 新建samba配置步骤
  7. 移动前端开发一定会遇上的事
  8. C语言基础:C语言宏定义(2) - 带参数的宏定义
  9. PHP每天自动更新静态文件下载地址,防盗链
  10. java并发-独占锁与共享锁