摘要: "BZOJ" 分析 直接用两个指针扫,中位数就是放米仓的位置。 <! more 代码 cpp include include include include using namespace std; typedef long long ll; template inline void read(T 阅读全文
posted @ 2019-08-30 22:12 小蒟蒻hlw 阅读(109) 评论(0) 推荐(0)
摘要: "洛谷" "BZOJ" 分析 任意两个点的最短距离一定经过它们的 $LCA$ ,推广到三个点的情况,设这三个点分别是 $x,y,z$ ,先求出 $x, y$ 的 $LCA$ 为 $w$ ,最后的 $pos$ 可能是在 $w$ 和 $z$ 的 $LCA$ 处,但不难发现, $w$ 是两个人在走,而 $ 阅读全文
posted @ 2019-08-30 21:50 小蒟蒻hlw 阅读(181) 评论(0) 推荐(0)
摘要: "洛谷" "BZOJ" 分析 贪心策略很好想,显然,当 $cache$ 未满时,直接放进去就行了; $cache$ 满了的时候,考虑交换哪一个,不难看出可以交换下一次出现最晚的那个。 <! more 注意:不开 $map$ 过不了! 代码 cpp include include include in 阅读全文
posted @ 2019-08-30 21:10 小蒟蒻hlw 阅读(126) 评论(0) 推荐(0)
摘要: "传送门" 分析 结论题。假设分成的每块大小为 $k$,则分成了 $\frac{n}{k}$ 块,也就是 $k|n$ ,有 $\frac{n}{k}$ 个节点可以作为每块的根节点,显然,这些节点中每个节点的子树大小一定是 $k$ 的倍数。 于是,我们可以先 $dfs$ 一遍求出每个节点子树大小,然后 阅读全文
posted @ 2019-08-30 19:49 小蒟蒻hlw 阅读(97) 评论(0) 推荐(0)