Loading

摘要: 距离最远点可以想到找直径,根据"天生的胆小鬼"给我们的经验,可以发现这题找到直径中点就会很好办。找到直径中点后,提为根,此时对于任意非根节点 \(u\),其权值一定小于父节点权值。 每次询问枚举连通块顶点,然后启发式合并(大概叫 dsu on tree 吧)求子树内权值满足要求的点数。当然也可以考虑 阅读全文
posted @ 2021-09-02 22:47 Qiuly 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 首先可以发现玩的序列 $(a_i,b_i)$:$a_i$ 一定是 $0,1,\cdots,n-1,0,1$ 循环往复,$b_i$ 一定是 $0,1,\cdots,m-1,0,1$ 循环往复。考虑令 $g=\gcd (n,m),n'=\frac{n}{g},m'=\frac{m}{g}$,将 $[0,n)$ 拆为 $n'$ 段区间,$[0,m)$ 拆为 $m'$ 段区间,考虑区间之间的匹配。 注意到因为 $n'\perp m'$,所以区间序列的周期的长度为 $n'm'$:恰好为不同的区间匹配数,意味着左边的每个 阅读全文
posted @ 2021-09-02 22:03 Qiuly 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 常见套路正难则反,考虑从后往前做。 可以发现最后剩下 \(O(m)\) 个区间,每个区间有一个"被删除的时间",如果至始至终都没被删除的区间,定义其"被删除的时间"为 \(m+1\) 。 将这些区间丢到线段树上,再从线段树上将这些区间扒下来,此时每个区间长度一定是 \(2^k\),接下来考虑连边。 阅读全文
posted @ 2021-09-02 16:12 Qiuly 阅读(152) 评论(0) 推荐(1) 编辑
摘要: 定义质数 $i$ 的数链(集合)$S_{i}=\{1,2,\cdots,n\}\bigcap\{it,t\in\Z\}$ 。 那么对于 $p$ 来说,将 $i$ 的 $S_i$ 当作下标集合,满足 $\gcd(p_a,p_b),\{a,b\}\subseteq S_i$ 。假设这些 $p_a,p_b$ 均为质数 $t$ 的倍数,那么相当于 $S_i$ 作下标集合时,在 $p$ 中对应的是 $S_t$,称用 $i$ 替换了 $t$,容易发 阅读全文
posted @ 2021-09-02 12:47 Qiuly 阅读(142) 评论(2) 推荐(1) 编辑
摘要: 首先竞赛图缩点是一条链状 DAG,拥有唯一拓扑序,如果能知道缩点后的结果就很容易得到答案了。 首先考虑找到一条长度为 \(n\),包含 \([0,n-1]\) 所有点的路径。注意到 \(a\rightarrow b\) 意味着 \(a\) 缩点后所属的大点一定不在 \(b\) 所属的大点之后,所以最 阅读全文
posted @ 2021-09-02 09:56 Qiuly 阅读(76) 评论(0) 推荐(0) 编辑