这道题是最小表示法的一个应用, 代码如下: /* ID: m1500293 LANG: C++ PROG: hidden */ #include <cstdio> #include <algorithm> #include <cstring> using namespace std; char s[
分类:
其他好文 时间:
2016-02-10 17:37:30
阅读次数:
221
题目大意:与别的裸题的唯一不同点是其符号的ASCII码值在3 ~ 254 之间。算法讨论:最小表示法直接上。但是唯一不同的就是注意这里的字符范围,用char是会get wa的,所以要用unsigned char。这两者的区别就是可以表示的ASCII范围不同。char是有符号位的,其可以表示的范围是-...
分类:
其他好文 时间:
2016-01-17 07:35:52
阅读次数:
216
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5442打比赛的时候还没学kmp更没有学最大最小表示法,之后做完了kmp的专题,学了它们,现在再来做这道题,断断续续做了一段时间最终还是对了;题意:就是有一个甜圈由n个部分组成,每部分的甜度由一个小写字母来...
分类:
其他好文 时间:
2015-10-11 12:55:20
阅读次数:
150
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3374题意很简单,输出的是最小字典序的编号,最小字典序个数,最大字典序编号,最大字典序个数。可以想一下因为是循环移动的, 所以最大字典序个数和最小字典序个数相等=循环节;本题有一个最大最小表示法:这里简单...
分类:
其他好文 时间:
2015-09-28 22:14:01
阅读次数:
305
题目链接: Hdu 5442 Favorite Donut题目描述: 给出一个文本串,找出顺时针或者逆时针循环旋转后,字典序最大的那个字符串,字典序最大的字符串如果有多个,就输出下标最小的那个,如果顺时针和逆时针的起始下标相同,则输出顺时针。解题思路: 看到题目感觉后缀数组可以搞,正准备犯傻被...
分类:
其他好文 时间:
2015-09-18 21:40:54
阅读次数:
272
#include #include #include #include #include using namespace std;const int maxn=2000005;int MinRepresstation(char * S, int len ) { int i = 0, j =...
分类:
其他好文 时间:
2015-09-15 17:57:07
阅读次数:
170
#include #include #include #include #include using namespace std;const int maxn=10005;struct elem{ char str[105]; int len; bool operator = le...
分类:
其他好文 时间:
2015-09-15 16:15:43
阅读次数:
170
题意:给定一个由小写字母组成的长度为 n 的字符串,首尾相连,可以从任意一个字符开始,顺时针或逆时针取这个串(长度为 n),求一个字典序最大的字符串的开始字符位置和顺时针或逆时针。如果有多个字典序最大的字符串,优先选择开始位置靠前的,如果开始位置相同,优先选择顺时针。这种字符串的问题,第一反应是后缀...
分类:
编程语言 时间:
2015-09-14 21:15:04
阅读次数:
257
给一个字符串,这个字符串是首位连起来的,要我们输出从哪个位置开始,顺时针走,还是你时针走,字典序最大如果字典序最大的字符串有多个,开始的下标越小越好,如果开始的下标又相同,那么顺时针的优先。原字符串为abab,那么只要在后面加上原字符串,变成abababab#,#是一个很小的字符, 然后进行后缀数组...
分类:
编程语言 时间:
2015-09-14 09:24:48
阅读次数:
302