摘要: 交换任意两行或是两列,然后我们最终的目标是要达到该方阵的主对角线上的格子均为黑色(即左上角至右下角)的格子均为黑色。 那么我们每次的操作肯定是将每一行某一个位置上的 1 移到上述的这条对角线,最后判断能否成立,在这样的思路的引导下,我们很容易想到二分图匹配,也就是若 \(a(i)(j)=1\) ,那 阅读全文
posted @ 2020-11-08 16:21 牛蛙丶丶 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 删掉更多的边则意味着保留的边肯定要尽量的少一点,那么我们可以把问题转化为求一个图中两条最短路中的最小值。 要先预处理出所有的点之间的最短路,并且将答案初始为 \(s_1\) 到 \(t_1\) 和 \(s_2\) 到 \(t_2\) 的距离之和,此时不要忘了判断。 显然,我们所求的两条最短路中可能会 阅读全文
posted @ 2020-11-08 16:20 牛蛙丶丶 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 9月月赛做了雷雨这道题,发现两题从本质上看是相同的,不过那道是点权,这道是边权。 要使得拆除的路径最多,所以我们要保留的路径就要最少,这是第一个转换。 可以发现的是,若从 1 号城市寻找到 \(s_1\) 和 \(s_2\) 的路径,我们很难去处理可能会出现的重边,这是不妨逆向思维,在图中找一中间点 阅读全文
posted @ 2020-11-08 16:06 牛蛙丶丶 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一棵 \(n\) 个点的带权树,结点下标从 $1$ 开始到 \(N\) 。寻找树中找两个结点,求最长的异或路径。 异或路径指的是指两个结点之间唯一路径上的所有边权的异或。 解法 先预处理出从根结点到所有结点的路径上的 \(xor\) 值,显然 \(d(x) = d(fa)\) ^ \(va 阅读全文
posted @ 2020-11-08 15:55 牛蛙丶丶 阅读(55) 评论(0) 推荐(0) 编辑