10.21

10.21 总结

上午7:00-8:20

订正SCP-S T2 divide

> 题目链接:divide

思路回顾+总结

首先看到这道题手玩了几遍样例,容易发现一组方案的每个点应在同一深度(容易证明如果存在一个点在其它层并集一定无法完全包括)

既然要用到深度,跑一次DFS把每个点的深度存下来

继续观察,并集的下界由于点都在同一层已经固定,那么下面决定并集是否相同的点就在于上界,所以我们给进一下DFS,存下每个点子孙的最深度

既然是按层讨论,我们就把每一层的所有点记录下来。

现在一层假定有 $m$ 个点,扫一遍后得到下界最浅(原因:最浅才能保证其他点的下界一定包括这个深度),记录下界最浅的点有 $t$ 个

不难想到,当$m=0$时就可以$break$了,因为都没有点深到这个深度,接下来一定不可能有点。

同理,当$m<k$时,同一层无法凑齐$k$个数,故不可以,$continue$。

在$m==k$时,同一层放满后剩下的第$k+1$棵树必定是不包含的,故不可以,$continue$

在t=1时,显然可以注意到也是不可以的,因为其他的并集都比最浅的深一定包含比最浅的点深的度

以上是考场清晰部分,下面虽然考场上都想到了,但脑子太糊了成依托没写出来

divide题解

上午剩余时间

打了一场zhengruioi 把贪心做成了模拟分类讨论()

posted @ 2025-10-21 23:41  glad_yimie  阅读(2)  评论(0)    收藏  举报