NOIP2020

T1:

 

pts60:直接模拟即可

pts90:先÷后×

pts100:高精度(__int128)

T2:

pts84:

设dp[i][j]表示前i位所有前驱中奇数次字符个数 ,f[i]表示a[i~n]之间有多少个奇数次字符

枚举AB串的长度,然后枚举$(AB)^k$中的k,哈希判断(AB)^k是否与a[1~Len(AB)*k]相等

那么对于AB串的所有拆分方案数就是所有dp[Len(AB)-1][f[Len(AB)*k+1]]的和

时间复杂度O(nT*26+T*调和级数)

pts100:

发现对于任何一个AB串,其所有满足要求的C串的奇数次字符只有两种

所有我们不提前预处理dp[i][j],而是用树状数组维护dp[i][j]

时间复杂度O(nT*log(26)+T*调和级数)

T3/T4 以后再补

posted @ 2020-12-17 15:35  niolle  阅读(120)  评论(0编辑  收藏  举报