摘要:
1 #include 2 #include 3 #include 4 #include 5 6 char str[100001]; 7 ///注意在ans+=f[g]*f[g];中,ans是long long,所以运算的两个数至少有一个数是long long,所以f数组选择的类型是长整形 8 long long f[100001]; 9 10 int main() ... 阅读全文
摘要:
阅读全文
摘要:
阅读全文
摘要:
最小表示法证明 设字符串为a[1],a[2],……,a[n]。该字符串形成环,即a[n]的后继为a[1],两者连接起来。 设置两个指针i,j,一开始i=1,j=2, 1.比较以i,j为始的字符串,字符串长度k从1到n递增,两个字符串不再相等或长度为n之后结束比较。 2.当字符串长度k为n时,结束比较 阅读全文
摘要:
hdu3374 Solution: 最小表示法+KMP 设一个字符串S的最小循环节是T。(如S=“abababab”,则T=“ab”) 在最小循环节T中,只有1个最小字符串和最大字符串。则最小字符串的个数和最大字符串的个数相等,为|S|/|T|。 证明: 假设不成立,即在最小循环节T(T[0],T[ 阅读全文