[2018.07.31 T3] 第三题
暂无链接
第三题
【问题描述】
有一个字符串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] 第三题相关推荐
- CCF系列题解--2018年3月第三题 URL映射
问题描述 URL 映射是诸如 Django.Ruby on Rails 等网页框架 (web frameworks) 的一个重要组件.对于从浏览器发来的 HTTP 请求,URL 映射模块会解析请求中的 ...
- 2018年第九届蓝桥杯【C++省赛B组】【第三题:乘积尾零】——附解题代码
欢迎大家加入CSDN-蓝桥杯竞赛社区 https://bbs.csdn.net/forums/lanqiaobei 蓝桥杯历届题目及解析汇总(附思路及代码)[点击此进入] 蓝桥杯,ACM算法学习[文档 ...
- 华为7.31笔试(第一题AC、第二题AC、第三题超纲)
第一题 题目:小明是个强迫症卖家,有10000台设备,卖的均价要求最接近D元,输出卖出的台数N,总售价M 输入 0<D<10,精确到小数点后12位 : 输出 M N 思路: 均价与 ...
- 辽师836c语言真题,2018年武汉科技大学考研真题硕士研究生入学考试试题
2018年武汉科技大学考研真题硕士研究生入学考试试题 下载地址如下: 2018-10-9 10:07:29 上传 需要: RMB 10 元 2018-10-9 10:07:06 上传 需要: RMB ...
- 2011年成都信息工程学院第二季极客大挑战逆向第三题Game破文
[文章标题]: 2011年成都信息工程学院第二季极客大挑战逆向第三题Game破文 [文章作者]: JoyChou [软件名称]: Game [软件大小]: 176KB [下载地址]: http://w ...
- 2018.07.17【省赛模拟】模拟B组 比赛总结
题目 [GDKOI2003]最大公共子串 [题目描述] 从一个给定的串中删去(不一定连续地删去)0个或0个以上的字符,剩下的字符按原来的顺序组成的串是该串的字串.例如:"", &q ...
- 湖南农业大学计算机考试试题,2018年湖南农业大学考研真题硕士研究生入学考试试题...
2018年湖南农业大学考研真题硕士研究生入学考试试题 下载地址如下: 2018-10-3 07:27:08 上传 需要: RMB 10 元 2018-10-3 07:27:07 上传 需要: RMB ...
- 蓝桥杯单片机十一届省赛_“第十届蓝桥杯青少组C++省赛”前三题解题思路及参考答案!...
关注 及时了解信息学竞赛相关资讯 第十一届蓝桥杯青少组C++省赛即将到来,待考的各位小同学有没有刷完去年的真题呢?以下是为大家复习准备的"第十届蓝桥杯青少组C++省赛"前三题解题思 ...
- NOIP2008提高组(前三题) -SilverN
此处为前三题,第四题将单独发布 火柴棒等式 题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0 ...
- c语言关于链表选择题看不懂,有关链表基本操作三题
因为觉得C语言老师讲链表讲的太匆忙了,况且PPT太乱太杂,看不懂 因此特地重写了次这周三上机有关链表操作的三题.(所写题目默认已排序,不考虑排序) 问题A:在单链表中按学号查成绩 时间限制: 1 Se ...
最新文章
- segMatch:基于3D点云分割的回环检测
- hardmard积 用什么符号表示_简明算术教程——第四章 线性代数——第1节 矩阵环(二)...
- Golang 计算MD5值示例
- SQLServer2000数据库特有的1433端口号
- 青蛙学Linux—NFS
- 是Excel的图,不!是R的图
- 安装uwsgi报错:error linking uWSGI解决方法
- 【Spring】CGLIB动态代理
- 解决 unity 2d 中人物碰撞后抖动旋转问题
- 【零基础学Java】—final关键字与四种用法(二十九)
- 翻译成汉语的英文版书籍,为什么会薄很的原因
- 【2017-7-17】动软代码生成器 数据库连接 配置失败 解决方法
- css背景和边框标签总结
- java 图片处理之寸照背景色替换
- JavaScript格式化输出时间
- 如何在Windows server 2012配置DHCP服务器
- Motrix - 清爽开源免费的全能下载工具 (跨平台、支持 BT / 磁力链 / 百度网盘)
- 九度OJ北京航空航天大学2008机试题题解
- 瑞昱Realtek(Realtek HD Audio Driver)音频声卡驱动R2.49 for Win7_Vista
- 干货 | 面试过了,如何谈薪资?拿高薪Offer有哪些技巧?