摘要:
这道题目的官方题解讲的就很好 但是这个构造方法确实比较好,我当时想到了排序+去重,但是最后判断的时候利用了贪心,对任何一个剩下的元素\(a\),最后如果他要参与贡献的话,这个众数必须是\([a+1,a+n]\)中的一个数,而由于\(a\)从小到大排了序的,我们依次考虑的话,显然是每个\(a\)都选择 阅读全文
posted @ 2024-02-20 15:47
最爱丁珰
阅读(32)
评论(0)
推荐(0)
摘要:
看了一下题解里面的方法,好像跟我一样的就只有一个 然而按照那篇题解的描述:乱七八糟的细节比较少,其实还是很多啊。。。这题的代码的话,有空就写一下吧 来讲一下做法,先建虚树,然后考虑每一条虚树边 同理,虚树边的两个端点在原树上一条路径,我们画出来 红色点是虚树上的两个端点 那么考虑这些黑色点,以及这些 阅读全文
posted @ 2024-02-20 12:37
最爱丁珰
阅读(50)
评论(0)
推荐(0)
摘要:
一个很典型的虚树题,把虚树建好。注意虚树上任意一条边表示原树中两个点的路径,而且这个路径上是没有关键点的,而且还有一个更关键的性质,就是这条路径上的树枝中的任何一个点也不是关键点,这一点下面会用到,主要是确定虚树中边权的大小 那么最大最小的DP就跟求树的直径的DP非常像了,就不说了,主要是来看一下求 阅读全文
posted @ 2024-02-20 11:12
最爱丁珰
阅读(23)
评论(0)
推荐(0)
摘要:
题目只出现了一些关键点,所以想到虚树,我们对关键点建立虚树,会发现对虚树上的一条边\((u,v)\),在原图中\(u\)到\(v\)的路径只用最多选择一条就可以了,所以我们就发现,有效的边的个数就是虚树上的边,是\(O(k)\)的 然后看一下\(k\)的范围,想到状态压缩,对每一个状态\(S\),枚 阅读全文
posted @ 2024-02-20 09:37
最爱丁珰
阅读(20)
评论(0)
推荐(0)
摘要:
虚树这个东西看OI wiki就好了,虽然我并不是很会证明正确性 当建立虚树之后,祖孙关系是不会改变的,然后虚树上某两个点之间的路径,就相当于原图中这两个点之间的路径,只不过相当于被压缩了(相当于跳着走的) 这道题目我们令虚树上的边的边权为原图中两点之间路径所有边权的最小值 证明一下正确性: 对于虚树 阅读全文
posted @ 2024-02-20 07:20
最爱丁珰
阅读(16)
评论(0)
推荐(0)

浙公网安备 33010602011771号