地址:http://acm.hdu.edu.cn/showproblem.php?pid=3374

思路:最小表示法模板题

Code:

#include<iostream>
#include<cmath>
using namespace std;int n;
string str;int main()
{ios::sync_with_stdio(false);while(cin>>str){n=str.length();str+=str;int res1=1,res2=1,s1=1,s2=1;int l=0,r=1,t;while(l<n&&r<n){for(t=0;t<n;++t)if(str[l+t]!=str[r+t]) break;if(t==n){if(l>r) swap(l,r);res1=l+1;   s1=n/(r-l);    break;}else{if(str[l+t]<str[r+t]){r+=t+1;res1=l+1;    s1=1;}else{l+=t+1;res1=r+1;   s1=1;}if(l==r)   ++r;}}l=0;   r=1;while(l<n&&r<n){for(t=0;t<n;++t)if(str[l+t]!=str[r+t])  break;if(t==n){if(l>r) swap(l,r);res2=l+1;   s2=n/(r-l);    break;}else{if(str[l+t]>str[r+t]){r+=t+1;res2=l+1;    s2=1;}else{l+=t+1;res2=r+1;   s2=1;}if(l==r)   ++r; }}cout<<res1<<" "<<s1<<" "<<res2<<" "<<s2<<endl;}return 0;
}

HDU-3374 String Problem相关推荐

  1. hdu 3374 String Problem (字符串最小最大表示 + KMP求循环节)

    Problem - 3374 KMP求循环节. http://www.cnblogs.com/wuyiqi/archive/2012/01/06/2314078.html 循环节推导的证明相当的好,这 ...

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

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

  3. HDU 3374 String Problem (KMP+最大最小表示)

    KMP,在有循环节的前提下: 循环节 t = len-next[len], 个数num = len/(len-next[len]); 个人理解,如果有循环节,循环节长度必定小于等于len/2, 换句话 ...

  4. hdu P3374 String Problem

    今天又在lyk大佬的博客学会了--最小表示法(异常激动 发篇题解纪念一下 说在前面:给luogu提个建议最小表示法的题太少了,都被hdu抢去了!!! 我们先看一下题目 看完后可以用一个字概括--蒙,两 ...

  5. hdu 3374 String Proble

    kmp+最小表示法 #include<iostream> #define maxn 1000010 using namespace std; string str; int nextt[m ...

  6. HDU 3374 最小 / 大表示法

    题意 传送门 HDU 3374 String Problem 题解 求字符串中字典序最小与最大的循环同构串,并求解对应的起始字符在原字符串中出现的位置最早的一个,以及这个循环同构串出现的次数. 最小/ ...

  7. hdu 5008 Boring String Problem(后缀数组+rmq)

    题目链接:hdu 5008 Boring String Problem 题意: 给你一个字符串,有q个询问,每次询问该字符串所有的子串中字典序第k小的是哪个串,输出位置,如果有多个位置,输出最靠左的那 ...

  8. HDU 5008 Boring String Problem ( 后缀数组求本质不同第k大子串)

    Boring String Problem Zeronera题解 预处理sum数组记录不同字符串的个数,即sum[i] = n- sa[i] + 1 -height[i] + sum[i-1] (n为 ...

  9. hdu A + B Problem II(大数相加,数组实现)

    hdu A + B Problem II(大数相加,数组实现) 题目走起 注意最后一个case 不需要换行 下面代码 #include<stdio.h> #include<strin ...

  10. 2021ICPC(沈阳) - String Problem(后缀树+贪心)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的字符串 sss,对于每个前缀来说,求出字典序最大的子串. 题目分析:看到子串的字典序,感觉能用后缀树来做,参考了一下大佬的赛上代码: 香港中文大 ...

最新文章

  1. butterknife 插件_知道这个插件,能让你的项目里少写1000行代码
  2. iOS学习笔记37 时间和日期计算
  3. html5 2d,3d游戏引擎
  4. C++中 *(指针引用)与*(指针)的区别
  5. gsettings命令使用简介
  6. SpringMVC自学日志01(回顾servlet)
  7. 【原创】微信支付遇到的各种坑及解决方案随笔记录,invalid signature, “errMsg“:“chooseWXPay:fail“
  8. 啊哈C语言 第四章 【代码】【习题答案】
  9. App消息推送策略:推送用户感兴趣的内容
  10. java程序员表白代码_程序员表白代码,用过的人都找到了对象...
  11. 多元相关与回归分析及R使用
  12. 个人工作资源(不断更新)
  13. 女子学电子计算机哪一项专业好,2018最适合女生的高考热门专业有哪些
  14. 前端工程化——脚手架及自动化构建
  15. Fiddler原理+雷电模拟器进行APP抓包
  16. Http发送get、post、delete、put请求
  17. 九章量子计算机应用,“九章”量子计算机这么牛,到底有什么用? |【经纬低调分享】...
  18. 有啥能做水印的报表工具
  19. 小明一家过桥_智力题(小明一家过桥)
  20. CODESYS 赛搏机器智能MIC7001总线控制器+松下A6BE总线驱动器

热门文章

  1. [OpenHarmony RK3568](四)WIFI芯片适配
  2. c语言检测邮箱地址,C语言实现电子邮件地址验证程序
  3. 计算机网络面试常见知识点(含HTTPS和TLS)
  4. python编写word_如何使用Python来编辑word
  5. C#删除文件和文件夹到回收站
  6. 微信weui之actionSheet应用
  7. 端游与页游之战:微端网游突出重围
  8. 自动驾驶仿真平台Carla从入门到放弃
  9. 通过LY-WIFI-1智能WiFi模块实现手机APP控制LED灯————uno端
  10. 微信开发者工具配置连接Gitee