摘要:
http://poj.org/problem?id=3693题意:给出一串字符,需要求这串字符中的最长重复子串,要是有多个,输出字典序最小的.........我自己的一些想法:这个思路我一开始倒是没有看明白,慢慢的编下去,才懂了它到底是如何操作的......其实就是枚举多少个字符会匹配,然后求出它们的height值,再用这个值去除以长度,得到有多少个循环........具体看代码#include#include#includeusing namespace std;#define min(x,y) x>y? y:x#define maxn 100010int dp[maxn][33];i 阅读全文
摘要:
http://poj.org/problem?id=2774题意:给你两串字符,要你找出在这两串字符中都出现过的最长子串.........思路:先用个分隔符将两个字符串连接起来,再用后缀数组求出height数组的值,找出一个height值最大并且i与i-1的sa值分别在两串字符中就好.....#include#include#includeusing namespace std;#define min(x,y) x>y? y:x#define maxn 200010int dp[maxn][33];int wa[maxn],wb[maxn],wsf[maxn],wv[maxn],sa[m 阅读全文
摘要:
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=30&page=show_problem&problem=2731题意:有t组测试数据,第一个是n,代表有n个城市,标号为0~~n-1,接下来的n行,依次是标号为0~~n-1个城市的坐标,然后有m个操作,road操作代表着将两个点联通,line操作代表询问,直线y=c穿过多少个州,这些州总共有多少个城市。州就是有两个及以上的城市联通所形成的东西........思路:我的初始思路是用并查集先链接 阅读全文