摘要:
话说这是去年大爷的一道NOIP模拟赛题,对着大爷的代码看了一堂课的我终于把这题写掉了。 本题要求在基环树给定的环上删去一条边使剩下的树的直径最小,输出这个最小直径。 那么基环树可以画成这样子的: 有一些在环上的点,还有一些不在环上的点,显然只能在环上断边,我们预处理找出这个环$a_1 - a_m$, 阅读全文
摘要:
挺妙的解法。 发现边权很小,我们可以考虑从大到小枚举边权来进行$kruskal$算法,这样子对于每一个边权$i$,我们只要枚举$0 \leq j < m$,找到一个点使它的点权为$i | 2^j$,尝试连边即可。 另外,如果同一个点权重复出现,一定有办法使这个边权连满,这样子直接累加到答案里就可以了 阅读全文