因为智商太低了所以决定靠做多一点题来拯救一下自己。。。
欢迎催更。。。尽量保持一天2~3题。。。?
3.15
突然颓废了。。。。怎么办啊QAQAQAQ
3.20
做点easy或者medium冷静一下。。?
计数:20
SRM 693 Div1, 1000pts, TriangleFree
题意:统计无 K3 的子图数。
我好菜啊。。。写了好久啊。。。TAT。。。
如果我们能把图分成一大一小两个集合,并且其中一个集合有比较严格的限制,那么对于三元环的统计将会很有帮助。于是考虑取一个极大子图使得这个图内的每个点度数都不超过2。这可以通过不断取度数大于2的点然后删掉这个点得到。
记这个极大子图中的点为白点,另一个子图中的点为黑点,则黑点子图的大小不超过20,于是考虑暴力枚举黑点子图,然后判定每个白点是否可能被塞进一个三元环里。那么现在要考虑的情况只有 BBW,BWW,WWW 三种( BBB 可以直接排除掉)。对于 BBW ,可以直接将所有这种的白点给标记掉表示这次一定不会取;对于 WWW ,注意到这三个点在白点集合里一定是一个单独的联通块,于是预处理出所有这些子集然后每次暴力判断处理;对于 BWW ,此时的两个白点在白点子图中要么是在一个长度大于 3 的环里,要么是在一条链上,那么这就等价于另一个问题是,给定一个环或者链,某些边相邻的两个点不能同时选,求可以选择的方案数。于是我们还是可以找出所有的环和链,然后每个都DP一下处理掉。
这样就做到了n2n/3 。。。就可以过了。。。
分类讨论好麻烦。。。大概是我过于zz吧。。。。SRM 693 Div2, 1000pts, TreeAndCycle
sb到直接想了个贪心写了一会才发现是错的。。。药丸。。。
注意到加边的权值只和两个点的点权有关,因此如果知道每个点要额外加多少边就可以知道要加多少权值并且不用考虑每个点和哪两个点相连;那么我们可以记 f[u][d] 表示 u 这个点在环上和多少个树上的儿子直接相连,然后暴力枚举两个儿子xjb统计一下就好。反正n 只有100就随便写了个 O(n3) 的暴力。。sigh。。。SRM 693 Div1, 600pts, BipartiteConstruction
题意:给定 K