题目大意:给定一个串S,求最小表示法

n<=1000W,实在不敢写后缀自己主动机,就去学了最小表示法= =

记得用unsigned char不然WA= = 数据真是逗- -

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define M 10001000
using namespace std;
int n;
unsigned char s[M];
int Min_Representation()
{int i,j,k;for(i=1,j=2,k=0;i<=n&&j<=n&&k<=n;){int t=s[i+k>n?i+k-n:i+k]-s[j+k>n?j+k-n:j+k];if(!t) k++;else{if(t>0) i+=k+1;else j+=k+1;if(i==j) ++j;k=0;}}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);elsefwrite(s+ans,1,n-ans+1,stdout),fwrite(s+1,1,ans-1,stdout);cout<<endl;return 0;
}

转载于:https://www.cnblogs.com/liguangsunls/p/6764744.html

BZOJ 2176 Strange string 最小表示法相关推荐

  1. BZOJ2176Strange string——最小表示法

    题目描述 给定一个字符串S = {S1, S2, S3 - Sn}, 如果在串SS中, 子串T(|T| = n)为所有长度为n的SS的字串中最小的(字符串的比较), 则称T为"奇怪的字串&q ...

  2. HDU - 3374 String Problem(最小表示法+最大表示法+KMP的next数组)

    题目链接:点击查看 题目大意:给出一个字符串,现在问字符串不断向左循环所能形成的n个字符串中,字典序最小和最大的字符串的编号为多少,分别有多少个 题目分析:字符串最小表示法的模板题,证明和模板都是看大 ...

  3. bzoj 1398: 寻找主人 AC自动机+最小表示法

    题目大意: 给定两个序列判断是否循环同构,若循环同构则输出最小表示 题解: 因为没有样例输入输出,一开始没看到要求输出最小表示 Wa一大页. 但不得不说bzoj还是挺高效的: 赞一个 XD.jpg 判 ...

  4. HDU-3374 String Problem (最小表示法)

    题意:给你一个字符串,并让他不断的进行循环左移,问字典序最小的字符串是第几个,出现的次数是多少,最大的字符串是第几个,出现的次数是多少? 分析:最小字符串和最大字符串用最小表示法即可找到,出现的次数, ...

  5. 无根树的同构:Hash最小表示法(bzoj 4337: BJOI2015 树的同构)

    这里的同构是指: 对于两棵树A, B,如果能通过重新标号使得两棵树完全相同,则称树A和B同构 Hash最小表示法步骤: ①暴力每个节点为根 ②对于当前根x,对树进行DFS ③DFS时对每个节点维护一个 ...

  6. [bzoj 1398] Vijos1382寻找主人 Necklace 解题报告(最小表示法)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1398 题目: Description 给定两个项链的表示,判断他们是否可能是一条项链. ...

  7. poj1509最小表示法

    题意:       给你一个循环串,然后找到一个位置,使得从这个位置开始的整个串字典序最小. 思路:       最小表示法的建档应用,最小表示法很好理解,就点贪心的意思,一开始我们枚举两个起点i,j ...

  8. hdu3374最小表示法+KMP

    题意:       给你一个最长100W的串,然后让你找到最小同构子串,还有最大同构子串的下标,最小同构子串就是把字符串连接成一个环,然后选择一个地方断开,得到的一个ASCII最小的子串(求最大同理) ...

  9. 字符串的最大最小表示法 模板

    #include<iostream> #include<string> using namespace std; /* 用最小表示法求字符串S的最小字典序 返回字典序最小的串的 ...

最新文章

  1. 学术新星畅谈计算机视觉科研之路:视觉研究已经成熟,跨学科方法成为趋势...
  2. jmeter随机参数化不重复_接口测试参数化详解(Jmeter)
  3. Linux 下的五种 IO 模型
  4. 计算机应用的重要性作文,关于科技的重要性作文(通用5篇)
  5. mysql workbench安装出错_MYSQL及MySQL WORKBENCH安装过程遇到的问题及处理方法
  6. oracle xtts 测试,XTTS 跨平台表空间迁移测试
  7. 移动通信网络演进之路
  8. mem考试能用计算机吗,Memtest可以通过多少次?
  9. 【AD15绘制原理图编译的一些警告的处理】
  10. 精读《如何阅读一本书》(附全书思维导图)
  11. linux系统中哪个能代表中国时区,linux系统修改系统时间与时区的方法有哪些
  12. Linux查看主板型号及硬件信息
  13. javaweb的问卷调查系统
  14. 运输业的EDI是如何运作的?
  15. python英语词汇量测试_非常适合新手的一个Python爬虫项目: 打造一个英文词汇量测试脚本!...
  16. 利用WMI轻松打造WINDOWS任务管理器
  17. Cannot cast ch.qos.logback.classic.servlet.LogbackServletContainerInitializer to javax.servlet.Servl
  18. digitalpersona 开发(系统托盘,监听指纹扫描)
  19. 中石油、长安、奥动新能源合作打造换电站;玛氏箭牌与阿里巴巴合作同城零售 | 美通企业日报...
  20. 阿里云 Aliplayer高级功能介绍(七):多分辨率

热门文章

  1. linux上的一些命令
  2. COM 学习(五)——编译、注册、调用
  3. [实变函数]5.6 Lebesgue 积分的几何意义 $\bullet$ Fubini 定理
  4. 为什么国内的网盘公司都在 TB 的级别上竞争,成本会不会太高?
  5. eclipse 版本 查看
  6. 关于Delphi XE2的FMX的一点点研究之消息篇
  7. JavaScript学习(五十二)—继承、call方法和apply方法
  8. JavaScript学习(三十八)—面向过程与面向对象
  9. 连续汗蒸一星期有什么好处?
  10. 有什么激励你一辈子的句子?