Sort String

题:https://www.nowcoder.com/acm/contest/141/E

思路:比赛的时候考虑的是字符串哈希,结果被卡成狗,赛后才知道大家都是kmp搞的,用kmp求出循环节

#include
using namespace std;
 
//const int maxn=1e6+500;
char a[1000010];
int net[1000010];
void getnext()
{
    net[0]=0;
    net[1]=0;
    int m=strlen(a);
    for(int i=1;i

 

附上字符串哈希代码:

#include 
using namespace std;
typedef unsigned long long ull;
const int maxn=1e6+7;
struct node{
    ull val;
    int id;
}c[maxn];
struct node1{
    vector V;
    int sum;
}v[maxn];
bool cmp(node a,node b) {
    if(a.val!=b.val)
        return a.val

 

你可能感兴趣的:(字符串)