回文自動機 BZOJ 2160 拉拉隊排練

2022-08-30 23:18:40 字數 1153 閱讀 9902

通道

題意:求所有回文按長度排序後,前k個奇數長度的子串乘積之和。

思路:len[i]代表長度為i的有多少個子串,避免超時,樹狀陣列維護即可

**:

#include #include 

#include

using

namespace

std;

typedef

long

long

ll;const

int max_n = 1200005

;const

int sig = 26

;const

int n =max_n;

struct

bit

void

add(ll i, ll v)

}ll query(

inti)

}};bit b;

struct

ptree

void

init()

int getfail(int

x)

void add(int

c) last =nxt[cur][c];

++cnt[last];

}

void

count()

};const ll mod =19930726ll;

ptree a;

ll n, m, len[max_n];

char

s[max_n];

ll pow(ll x, ll n)

return

ret;

}int

main()

len[

1] = b.query(1

);

for (int i = 2; i <= n; ++i) len[i] = b.query(i) - b.query(i - 1

);

for (int i = n; m && i > 0; --i)

else

}if (m > 0) ans = -1

; printf(

"%lld\n

", ans);

return0;

}

view code

BZOJ 2160 拉拉隊排練 回文自動機

給出乙個n 1 e6 n leq1e6 n 1e 6的字串,還有乙個詢問k kk,現在要求前k kk個長度從打到小奇數長度的回文串的長度乘積。不足k kk個就輸出 1 1 1。直接回文樹全部找出來排序,統計個數。個數夠的話直接快速冪計算。includeusing namespace std type...

bzoj 2160 拉拉隊排練 回文自動機

description 艾利斯頓商學院籃球隊要參加一年一度的市籃球比賽了。拉拉隊是籃球比賽的乙個看點,好的拉拉隊往往能幫助球隊增加士氣,贏得最終的比賽。所以作為拉拉隊隊長的楚雨蕁同學知道,幫助籃球隊訓練好拉拉隊有多麼的重要。拉拉隊的選拔工作已經結束,在雨蕁和校長的挑選下,n位集優秀的身材 舞技於一體...

BZOJ2160拉拉隊排練 回文自動機

艾利斯頓商學院籃球隊要參加一年一度的市籃球比賽了。拉拉隊是籃球比賽的乙個看點,好的拉拉隊往往能幫助球隊增加士氣,贏得最終的比賽。所以作為拉拉隊隊長的楚雨蕁同學知道,幫助籃球隊訓練好拉拉隊有多麼的重要。拉拉隊的選拔工作已經結束,在雨蕁和校長的挑選下,n位集優秀的身材 舞技於一體的美女從眾多報名的女生中...