CF173D Deputies
题意简述
给定一个 3n 个点的二分图,将这个二分图分成 n 组,每组点之间没边。
分析
首先如果两边都是 3 的倍数,那么直接三个三个的选就好了。
如果不是那么就会有一边选一个另一边选两个的情况,同时你发现只会有一组或两组这样的,而且如果是有两组,那么选一个的那一边是一定相同的。然后找到就比较好做了。
CF875F Royal Questions
考虑如果我知道要选哪些公主,那么怎么判断是否可行。
如果一个公主连向两个王子,感觉起来这很像一条边,所以考虑将王子看作点,公主看作边。这个我直接看每一个连通块,如果王子比公主少就不行。
考虑我要让边权和最大,同时最多只有 n 条边,那么这就是一个最大基环生成森林,可以用 kruskal 做,多在每个并查集上维护一个是否形成环就行了。
CF1137C Museums Tour
这个 d 很小,考虑拆点,将每个点拆成 d 个,表示星期 x 到达这个点,开放是黑点,不开是白点。连边就很显然了,如果 uv 之间有边,那么 (u, i) 向 (v, i + 1)连边。
现在就是缩点跑最长路的问题,唯一问题是如何判重,即一个点可能会算多次。
你考虑如果一个点能从自己绕一圈回到自己,同时不是一周中的同一天,那么这两个天对应的点一定强连通,因为能绕回来,多绕几圈也就行了,所以一个点的不同到达天次,要么走不到,要么一定在同一个连通块。
那么直接缩点时统计一下就行。
CF1610F Mashtali: a Space Oddysey
咕咕咕。