2019-team2/Sp091
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
题解:
A. bitset,从大到小统计每个k的答案,维护大于等于k所有数以及其倍数形成的bitset. 复杂度O(nlogn+n^2^/64).
B. AC自动机+DP,状态是第i位/已经被包含字符串的集合/Trie结点,最后检查每个状态是否存在对应后缀使得能跨过中间形成子串.
C. 不懂
D. 不懂
E. 不懂
F. 当不连通时,应该使得m+1个点形成菊花图.如果连通,先用n-1条边形成菊花图,然后每条多余的边都能使得一个点对从2变成1.
G. 树DP,状态是结点/是否选取该结点/最大匹配数模m,转移看起来是m^2^的,但是可以用启发式和并通过.
H. 每次找到最小值然后求出去掉最小值后的B集合.
I. 每个数至多存在一个d满足性质,二分找到最小d^d^>=n的d,然后算出小于这个数的长度为d的排列.Java BigInteger可以过.
J. 不懂
K. 从小到大排序,满足相邻不超过K的后缀都能赢.
题解:
A. bitset,从大到小统计每个k的答案,维护大于等于k所有数以及其倍数形成的bitset. 复杂度O(nlogn+n2/64).
B. AC自动机+DP,状态是第i位/已经被包含字符串的集合/Trie结点,最后检查每个状态是否存在对应后缀使得能跨过中间形成子串.
C. 不懂
D. 不懂
E. 不懂
F. 当不连通时,应该使得m+1个点形成菊花图.如果连通,先用n-1条边形成菊花图,然后每条多余的边都能使得一个点对从2变成1.
G. 树DP,状态是结点/是否选取该结点/最大匹配数模m,转移看起来是m2的,但是可以用启发式和并通过.
H. 每次找到最小值然后求出去掉最小值后的B集合.
I. 每个数至多存在一个d满足性质,二分找到最小dd>=n的d,然后算出小于这个数的长度为d的排列.Java BigInteger可以过.
J. 不懂
K. 从小到大排序,满足相邻不超过K的后缀都能赢.