2123. [HZOI 2015] Glass Beads

★★★   输入文件:MinRepresentations.in   输出文件:MinRepresentations.out   简单对比
时间限制:1 s   内存限制:1024 MB

【题目描述】

给定长度为n(n<=300000)的循环同构的字符串,定义最小表示为该字符串的字典序最小的同构表示,请输出这个表示。

【输入格式】

第一行是串的长度,第二行是字符串。

【输出格式】

串的最小表示。

【样例输入】

10

helloworld

【样例输出】

dhelloworl

【题目来源】

HZOI2015 改编自poj1509

#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 300010
using namespace std;
int n;
char s[maxn];
int getmn(){
int i=,j=,k=;
while(i<n&&j<n&&k<n){
int t=s[(i+k)%n]-s[(j+k)%n];
if(!t)k++;
else{
if(t>)i+=k+;
else j+=k+;
if(i==j)j++;
k=;
}
}
return min(i,j);
}
int main(){
freopen("MinRepresentations.in","r",stdin);freopen("MinRepresentations.out","w",stdout);
scanf("%d%s",&n,s);
int ans=getmn();
for(int i=,j=ans;i<=n;i++,j++){
printf("%c",s[j%n]);
}
return ;
}

最新文章

  1. ora-01652无法通过128(在表空间temp中)扩展temp段
  2. Linux运维常用命令总结
  3. maven概念
  4. 通过IP连接网上打印机(转载)
  5. [转]rpcndr.h和wtypes.h冲突Bug的解决方案
  6. SQL Server 2008 Values 新用途
  7. Java SE/ME/EE的概念介绍
  8. iOS之ASIHttp简单的网络请求实现
  9. Python实现简单的HTTP服务器(支持文件上传下载)
  10. Java中eclipse中添加源码依赖
  11. OpenFlow协议1.0及1.3版本分析
  12. 用css绘制各种图形
  13. Windows ML,系统内置的机器学习平台初探
  14. CentOS 6.9安装Python2.7.13
  15. board_key.h/board_key.c
  16. Ubuntu搭建Anki服务器
  17. 支持开源,推动Orchard
  18. C. K-Dominant Character
  19. 病毒注册表常用目标Svchost和Explorer
  20. ubuntu下安装nginx1.11.10

热门文章

  1. 自定义响应结构 AjaxResult()
  2. Struts2与OGNL
  3. Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量)
  4. hdu-5646 DZY Loves Partition(贪心)
  5. linux命令学习笔记(39):grep 命令
  6. rtmp与hls流媒体服务器搭建:ubuntu下Nginx搭建初探与rtmp-module的添加
  7. bzoj1002轮状病毒
  8. CodeForces - 1017E :The Supersonic Rocket (几何+KMP,判定凸包是否同构)
  9. 【LeetCode】024. Swap Nodes in Pairs
  10. Git 权限控制