T1: 打表??? (其实是手模……) T2: 设计状态$f_{i,c,0/1}$表示考虑到第i位,已经有了c个相同的,之前是否已经有了三个连续的,的方案数 转移显然,不过可以矩阵快速幂优化,然后优化后的复杂度为O(6^3logn) 还有一个思路: 考虑有且仅有一个三个连续的,那么我们可以计算长度为 ...
分类:
其他好文 时间:
2019-11-12 11:01:52
阅读次数:
85
题目 思路 考场上没有仔细看数据范围,导致疯狂爆炸 正解是分类讨论 也就是指对于不同的数据范围,选择不同的解法 手动滑稽 对于前$70\%$的数据 直接$O(2^n)$ 对于后$30\%$的数据选择DP $dp[i][j][k]$表示前i个选j堆是否能构成k 很明显i那一位可以直接省去 之后转移即可 ...
分类:
其他好文 时间:
2019-11-11 21:36:15
阅读次数:
86
题目描述 N个点M条边的无向图,每个点有一个初始颜色,每次改变一个点的颜色,求改变后整张图上颜色不同的点之间的距离最小值。 思路 考虑整张图的距离最小值一定是一条边,而不可能是一条路径,那么显然这条边一定在MST上,于是我们考虑怎样维护这棵MST。 首先我们用kruskal建出MST,然后转化为有根 ...
分类:
其他好文 时间:
2019-11-08 23:52:07
阅读次数:
102
题目链接:https://vjudge.net/problem/POJ-1961 题意:给定一个长为n的字符串(n<=1e6),对于下标i(2<=i<=n),如果子串s(1...i)是周期子串,输出其最大周期。 思路: 考察对kmp算法中next数组的定义掌握,如果(i+1)%(i-j)==0 && ...
分类:
编程语言 时间:
2019-11-03 12:29:30
阅读次数:
96
传送门 "Luogu团队题链接" 解题思路 考虑交换两个相邻罗汉答案会如何变化。 假设我们应该这样摆:$\cdots i, i+1, \cdots$ 其中 $i$ 号罗汉在 $i+1$ 号上面,那么此时应满足:(设$s=\sum_{k=1}^{i 1}a_k$) $$s + a_i b_i$$ 经过 ...
分类:
其他好文 时间:
2019-10-28 12:13:57
阅读次数:
113
传送门 "Luogu" 解题思路 考虑把22个字符状压下来,易知合法情况就是状态中之多有一个1,这个可以暴力一点判断23次。 然后后就是 dsu on the tree 了。 细节注意事项 + 咕咕咕 参考代码 cpp include include include include include ...
分类:
其他好文 时间:
2019-10-27 10:52:03
阅读次数:
57
传送门 "Luogu" 解题思路 考虑如何 $\text{DP}$ 为了方便处理,我们设 $A B$ 设 $dp[i]$ 表示处理完 $1...i$ ,并且第 $i$ 个数放入关于 $A$ 的集合中的方案。 转移就只需要枚举前一个数 $j$ 就好了。 但是观察到 $N \le 10^5$ ,我们就需 ...
分类:
其他好文 时间:
2019-10-27 10:48:42
阅读次数:
82
传送门 "Luogu" 解题思路 考虑区间 $\text{DP}$。 设 $f[i][j][k]$ 表示 $[i,j]$ 这段区间接上后面 $k$ 个与 $j$ 颜色相同的块得到的答案。 转移就是: $f[i][j][k] = \max\left\{f[i][j][0]+(k+1)^2\right\ ...
分类:
其他好文 时间:
2019-10-27 10:23:41
阅读次数:
76
传送门 "Luogu" 解题思路 考虑直接模拟 $\text{BFS}$ 的过程。 对于每一个节点的儿子,先遍历在输入序列中靠前的,判断 $\text{BFS}$ 是否匹配即可。 细节注意事项 + 注意一下输出格式 参考代码 cpp include include include include i ...
分类:
其他好文 时间:
2019-10-26 23:26:08
阅读次数:
165
传送门 "Luogu" 解题思路 考虑最小生成树的几个性质: + 所有最小生成树中边权相等的边的条数相等 + 在任意一颗最小生成树中,边权相等的边所联通的点集一定 那么我们考虑把边权相等的边单独拿出来考虑。 每次把并查集恢复到加边前的状态,然后再判断这些边加进去会不会形成环即可。 PS. 恢复并查集 ...
分类:
其他好文 时间:
2019-10-26 23:21:20
阅读次数:
141