摘要:
最大值最小,容易想到二分。 考虑贪心,尽量选深度小的点,判断最少点数是否 \(\le k\)。对每个点记录子树内距离最近的公园和最远的未被覆盖的点。若两距离和 \(>mid\),则选择当前点,时间复杂度 \(\mathcal O(n\log V)\)。 参考代码: #include<bits/std 阅读全文
posted @ 2025-07-05 17:39
zifanwang
阅读(12)
评论(0)
推荐(0)
摘要:
k-nim 博弈板子题。 注意到白子只能向右移,黑子只能向左,那么可以将每对相邻的 白-黑 子看作一堆石子,石子个数为中间的空格数。每次可以从 \(1\sim d\) 个堆中取出若干石子。 考虑先手必胜的条件。将所有石子个数用二进制表示,那么一定存在一个 \(i\) 满足所有石子个数二进制表示下的第 阅读全文
posted @ 2025-07-05 17:08
zifanwang
阅读(20)
评论(0)
推荐(0)
摘要:
题意,即求有多少区间存在绝对众数。考虑分治,每次求经过 \(mid\) 的好区间的个数。 注意到若 \([l,r]\) 存在绝对众数,则 \([l,mid]\) 或 \([mid+1,r]\) 必有一个存在绝对众数。固定一个端点,绝对众数的个数是 \(\mathcal O(\log n)\) 的。 阅读全文
posted @ 2025-07-05 17:08
zifanwang
阅读(11)
评论(0)
推荐(0)
摘要:
首先容易想到记 \(f_i\) 表示前 \(i\) 个位置能得到的最大价值,枚举以 \(i\) 结尾的段直接 dp。 发现最后一个段选的颜色必定为 \(s_i\),不然可以令 \([i,i]\) 为单独一段。且以 \(i\) 结尾的段开头颜色也一定是 \(s_i\)。记 \(c_i\) 表示 \([ 阅读全文
posted @ 2025-07-05 17:07
zifanwang
阅读(14)
评论(0)
推荐(0)

浙公网安备 33010602011771号