[Baltic2004]BZOJ 3916 friends
来源:互联网 发布:漱口水 酒精 知乎 编辑:程序博客网 时间:2024/06/05 16:58
传送门
题解:枚举去掉的是哪一位然后哈希推式子即可。
注意题目说的not unique是指的S不同。
代码:
//BZOJ 3916 #include<iostream>#include<cstring>#include<cstdio>#define MAXN 2000100#define sig 27#define mod 1000000007#define lint long longusing namespace std;char s[MAXN];int hv[MAXN],mi[MAXN];inline int toi(char ch){return ch-'A'+1;}int main(){int n;scanf("%d",&n);scanf("%s",s+1);mi[0]=1;int cnt=0,k=n/2,pos,alr=-1;if(n%2==0) goto fail;for(int i=1;i<=n;i++)mi[i]=(lint)mi[i-1]*sig%mod,hv[i]=(hv[i-1]+(lint)toi(s[i])*mi[i-1]%mod)%mod;for(int i=1;i<=k;i++){int u=(lint)((lint)hv[i-1]*sig%mod+hv[k+1]-hv[i]+mod)%mod*mi[k]%mod;int v=(hv[n]-hv[k+1]+mod)%mod;// cout<<u<<" "<<v<<endl;if(u==v){if(!cnt) alr=v,cnt=1;else if(alr!=v) { cnt=2;goto fail; }pos=i;}}for(int i=k+1;i<=n;i++){int u=(lint)mi[k+1]*hv[k]%mod;int v=((((lint)hv[i-1]-hv[k]+mod)%mod)*(lint)sig%mod+hv[n]-hv[i]+mod)%mod;if(u==v){if(!cnt) alr=v,cnt=1;else if(alr!=v) { cnt=2;goto fail; }pos=i;}}fail:;if(!cnt) printf("NOT POSSIBLE");else if(cnt>1) printf("NOT UNIQUE");else for(int i=1,cnt=1;cnt<=k;i++)if(i^pos) printf("%c",s[i]),cnt++;printf("\n");return 0;}
阅读全文
0 0
- [Baltic2004]BZOJ 3916 friends
- bzoj 3916: [Baltic2014]friends
- 【BZOJ 1367】 [Baltic2004]sequence
- BZOJ 1367: [Baltic2004]sequence
- [BZOJ 1367][Baltic2004]sequence
- BZOJ 1367 [Baltic2004]sequence
- bzoj 1367: [Baltic2004]sequence
- BZOJ 3916 [Baltic2014]friends Hash
- bzoj 3916 friends | 字符串hash
- bzoj 3916: [Baltic2014]friends hash
- BZOJ 1367: [Baltic2004]sequence 左偏树
- BZOJ 3916 Baltic 2014 friends Hash
- BZOJ 1367([Baltic2004]sequence-左偏树+中位数贪心)
- BZOJ 1367([Baltic2004]sequence-左偏树+中位数贪心)
- BZOJ 1367 [Baltic2004]sequence 可并堆
- BZOJ 1367 [Baltic2004]sequence 解题报告
- bzoj 1367: [Baltic2004]sequence 左偏树+贪心
- 【BZOJ 1367】 [Baltic2004]sequence 可并堆
- Edge(待定)
- mongo driver类加载导致的错误
- Emmagee app性能测试工具使用教程(转)
- 秒拍社招面经
- 利用IO流对文件进行分割和无损还原合并
- [Baltic2004]BZOJ 3916 friends
- Unity3D使用WWW类和协程完成图片、视频下载播放
- 羽毛球套路简介
- python中的字典及注意事项
- Java实现冒泡排序
- Maven入门
- python_selenium(二)
- Hdu 1003 Max Sum
- CSS设置height:100%