以前听过,不知道是什么,其实就是字符串首尾相连成一个环,n种切法求一个字典序最小的表示。

朴素算法大家都懂。O(n)的算法代码非常简单,最主要的思想是失配的时候尽可能大的移动指针。

另外附上一个不错的字符串算法总结:http://duanple.blog.163.com/blog/static/709717672009825004092/

#include<bits/stdc++.h>
using namespace std; const int maxn = 1e5+;
char s[maxn]; int main()
{
//freopen("in.txt","r",stdin);
int T; scanf("%d",&T);
while(T--){
int n; scanf("%d",&n);
scanf("%s",s);
int i = ,j = , k = ;
while(i<n && j<n && k<n){
int x = (i+k)%n, y = (j+k)%n;
if(s[x] != s[y]){
if(s[x] > s[y]) i += k+;//如果不移动到这里,另外一边一定存在一个更小的前缀
else j += k+;
k = ;
}else k++;
if(i == j) j++;
}
printf("%d\n",i);
}
return ;
}

最新文章

  1. Entity Framework 6 Recipes 2nd Edition(13-6)译 -&gt; 自动编译的LINQ查询
  2. Castle.ActiveRecord多数据库配置
  3. 单元测试地二蛋 先弄个两个原生模块1个原始的一个jq插件
  4. 二、JavaScript语言--事件处理--DOM事件探秘
  5. MongoDB.WebIDE:升级版的Mongodb管理工具
  6. windows命令行及批处理文件小结
  7. 网页抓取:PHP实现网页爬虫方式小结
  8. Cursor--游标
  9. Android 在广播接收器中弹出对话框
  10. [Design Pattern] Proxy Pattern 简单案例
  11. FZU 2122 又见LKity(KMP+返回所有匹配位置)
  12. js禁止浏览器的回退事件
  13. python 基础一
  14. GOF 23种设计模式
  15. SSM-Spring-11:Spring中使用代理工厂Bean实现aop的四种增强
  16. jquery 上滑加载更多
  17. 求N!的位数
  18. 相对和绝对路径 mkdir cd rm 等命令
  19. gulp 添加版本号 解决浏览器缓存问题
  20. js各种小知识

热门文章

  1. Centos 6.5 下Nginx安装部署https服务器
  2. EF外键保存数据
  3. 记一次前端面试~终于拿到理想中的offer!
  4. Git 分支管理 Feature分支 强行删除分支
  5. window.onerror 捕捉所有的前端error
  6. ue4 动画相关方法杂记
  7. 2015 Noip提高组 Day2
  8. 洛谷2105 k皇后
  9. (三)siege的使用
  10. $(&quot;body&quot;).animate({&quot;scrollTop&quot;:top})无效的问题