poj1509 最小表示法
2016-03-31 19:51
417 查看
题目意思:给定一条字符串,首尾相连,求从哪里断开的字符串有最小的字典序
知识点:最小表示法
建议:先理解一部分这个算法,然后自己调试看结果,会有一种恍然大悟的感觉的
知识点:最小表示法
建议:先理解一部分这个算法,然后自己调试看结果,会有一种恍然大悟的感觉的
#include<string.h> #include<stdio.h> #include<algorithm> using namespace std; char s[10010]; int deal(char str[]) { int len=strlen(str); int i=0,j=1,k=0; while(j<len&&i<len&&k<len) { int temp=str[(i+k)%len]-str[(j+k)%len]; if(!temp) k++; else{ if(temp>0) i=i+k+1; else j=j+k+1; if(i==j) j++; k=0; } } return i; } int main() { int T; scanf("%d",&T); while(T--){ scanf("%s",s); printf("%d\n",deal(s)+1); } return 0; }
相关文章推荐
- LeetCode #015 3Sum
- MFC-内存映射实现数据共享
- Linux Shell 学习笔记1:Shell程序的运行及基本介绍
- CentOS挂载NTFS移动硬盘
- try-catch和throw,throws的区别和联系
- java--静态变量,静态方法和静态类
- EventHandle事件委托(通过状态发生改变时判断)
- Codeforces 659D Bicycle Race【计算几何】
- 使用Asset Catalog 的Slicing的功能
- Full Gc触发条件
- nctf-web-2
- Codeforces 659D Bicycle Race【计算几何】
- iOS开发之 菊花一直显示不会消失
- extern关键字的作用
- Android webview使用详解
- 学习javaEE每一天2016.3.31
- LNMP搭建
- REST学习
- netty 处理 get 请求
- zeroMQ 简单的PUB-SUB 高性能模式,java 语言版本