^ A ^ B ^ C ^ D ^ E ^ F ^ | + | O | | | | | rank: =====ABCD===== * 题意:水。 * 题解:摸! =====E===== * 题意:给出一个不保证联通的图,$n$个点$m$条边,其中有一些边是有向的,另一些边是无向的,求一种方案给所有无向边定向最后的图无环,或判断无解。$(2 \le n \le 2 \cdot 10^5, 1 \le m \le min(2 \cdot 10^5, \frac{n(n-1)}{2}))$ * 题解:如果已经存在有向环,显然无解。否则拓扑排序后将所有边向后连就完事了。(复习了一波拓扑排序,放队列里找度数为$0$的点,顺带判环) =====F===== * 题意:给出一棵$n$个节点的树,每次操作可以删除同一节点上的$k$个叶子节点,问最多能进行几次操作。$(2 \le n \le 2 \cdot 10^5, 1 \le k < n)$ * 题解:直接搞个队列放相连叶子数量$\ge k$个的节点,然后暴力删即可。再开多个set记录每个节点所连的非叶节点,并在上述过程中进行维护,当自己变成叶子就把自己的贡献加到对应节点即可。 =====G===== * 题意:给出$2 \times n$的矩阵,每次可以交换一列,求最少的交换次数使得上下两行都是$1$到$n$的排列,或判断无解。$(1 \le n \le 2 \cdot 10^5)$ * 题解:显然如果不满足每种数字出现两次那肯定无解。否则有解,考虑将原矩阵每一列上下两个元素连边,生成的图会形成数个环,但环上每条边方向不一定一致,问题等价于将所有环的边都调整为同一个方向所需改变边数方向的最小值。直接将每个环搜一遍即可。