AGC005解题报告

AT远古场真的是轻松加愉快。

C

很像ARC108F的一部分性质(似乎时间错乱了),对于一个点,它的最远点距离一定和直径两个点之中一个的距离。

所以先把直径连起来,一些距离的最小值已经可以确定了,然后在直径上挂点:除了最小的那个距离无法再增加之外剩下的随便增加。

D

感觉的是全场最有难度的?可能是自己组合计数不行。

容斥。看有几个点不合法了。

构造一个矩阵表示映射。把不合法的位置染黑,发现每行每列都只有两个,每行每列不能同选,对于每行每列进行连边,就是独立集个数。

每个点关联点最多两个,可以序列上dp。把每个独立集单独拎出来,然后再拼接。

$dp[i][0/1]$表示到第$i$位选不选,那么在拼接处没有这个要求,然后随便dp一下就可以了。

稍加优化可以变成$Polylog$的复杂度。

原文地址:https://www.cnblogs.com/Forever-666/p/14152343.html