返回顶部
摘要: ```cpp include define lc (o 1; sum[lc] = (1ll lz[o] (m l + 1) + sum[lc]) % mod; sum[rc] = (1ll lz[o] (r m) + sum[rc]) % mod; lz[o] = 0; } } void build 阅读全文
posted @ 2019-08-22 22:11 Inko 阅读(126) 评论(0) 推荐(0)
摘要: 一个字符串的最小循环表示: cpp include using namespace std; typedef long long ll; int n; int a[600005]; int min_representation() { int i = 0, j = 1, k = 0; while(i 阅读全文
posted @ 2019-08-22 22:07 Inko 阅读(216) 评论(0) 推荐(0)
摘要: 链接:https://scut.online/p/432 题意:给一个长度不超过1000的字符串,从中间切开前缀后缀(各至少一个字符),问每个切法中前缀后缀的相同的子串对的个数。 重新理解后缀自动机。 1.后缀自动机里面,endpos表示这个节点作为结束位置出现的次数。一个maxlen更长的节点出现 阅读全文
posted @ 2019-08-22 21:40 Inko 阅读(130) 评论(0) 推荐(0)
摘要: ```cpp include using namespace std; define ll long long int a[20]; ll dp[20][MAXS1][MAXS2]; ll dfs(int pos,int s1,int s2,bool lead,bool limit) { if(po 阅读全文
posted @ 2019-08-22 13:45 Inko 阅读(98) 评论(0) 推荐(0)