BZOJ 2176: Strange string【字符串最小表示法
2016-09-12 21:07
225 查看
裸的最小表示法模板题,看起来SAM会被卡挂【数据范围1e7
顺便四处乱膜学习各种新姿势……感觉自己代码更加毒瘤了起来【毕竟n比较大,复制一次字符串这种行为可能被卡掉【x
总之…………↓
顺便四处乱膜学习各种新姿势……感觉自己代码更加毒瘤了起来【毕竟n比较大,复制一次字符串这种行为可能被卡掉【x
总之…………↓
#include<bits/stdc++.h> #define MAXN 10000005 using namespace std; int n; unsigned char s[MAXN]; int Min_Representation(){ int i,j,k; for(i=1,j=2,k=0;i<=n&&j<=n&&k<=n;k=0){ while(s[i+k>n?i+k-n:i+k]==s[j+k>n?j+k-n:j+k]&&k<n) ++k; if(k==n) break; if(s[i+k>n?i+k-n:i+k]>s[j+k>n?j+k-n:j+k]) i+=k+1; else j+=k+1; if(i==j) ++j; } return min(i,j); } int main(){ scanf("%d\n",&n); fread(s+1,1,n,stdin); int ans=Min_Representation(); if(ans==1) fwrite(s+1,1,n,stdout); else fwrite(s+ans,1,n-ans+1,stdout),fwrite(s+1,1,ans-1,stdout); return 0; }
相关文章推荐
- Linux 编译安装源代码包
- class的sizeof
- Swift函数 - 指针类型
- hdu1698——Just a Hook(线段树+区间更新)
- C#控制台基础 file.readalltext使用相对路径与绝对路径去读取 与exe在同一目录下的txt文件
- AFNetworking content type not support
- BZOJ 4455: [Zjoi2016]小星星
- G1 垃圾回收
- Opencv之<Vec3b>是什么东东
- hibernate乐观锁
- JPA
- Graph
- MongoDB基本使用
- Python基础-sort()函数
- Ubuntu+Apache+PHP+Mysql环境搭建(完整版)
- openstack安装问题
- Hibernate 乐观锁实现之 Version
- 职责链
- leetcode【121+122+123 best time to buy and sell stock】【python】
- 初探ELK-kibana使用小结