Loading

摘要: Maximum AND 贪心 从高位开始,尽可能地让 $a$ 中该位为 $0$ 的 和 $b$ 中该位为 $1$ 的配对在一起,换句话说,可以让 $a$ 由小到大排序,$b$ 由大到小排序 如果当前位最终是 $1$,则继续该过程 如果当前位最终是 $0$,则说明失配,考虑将这一位全部置为 $1$ ( 阅读全文
posted @ 2022-09-02 14:24 dgsvygd 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Plus and AND 贪心 从高位开始逐位枚举,如果当前位能够在 $k$ 的代价内将所有数字都变成 $1$,则认为结果的当前位是 $1$,如果凑这一位利用了低位的 $1$,则要将其全部置为 $0$ 重复这个过程 #include <iostream> #include <cstdio> #inc 阅读全文
posted @ 2022-09-02 14:15 dgsvygd 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 【模板】边双连通分量 边双的数量 tarjan 割边 出现一个桥就会把分割出一个连通块,因此边双的数量就是 桥的数量 + 原本块的数量 #include <iostream> #include <cstdio> #include <algorithm> using namespace std; co 阅读全文
posted @ 2022-09-02 10:18 dgsvygd 阅读(31) 评论(0) 推荐(0) 编辑
摘要: Hedge Mazes 判断两点之间是不是只有唯一一条简单路径 tarjan 割边 如果两点之间仅有一条简单路径,说明如果将路径上的一条边割掉,则两点之间不连通,换句话说,这条最短路径上的所有边都是割边 因此考虑找出所有的割边,用割边来跑一次并查集 #include <iostream> #incl 阅读全文
posted @ 2022-09-02 09:53 dgsvygd 阅读(135) 评论(0) 推荐(0) 编辑
摘要: Caocao's Bridges tarjan 割边 直接跑权值最小割点 坑: 如果图本身不连通,则输出 $0$ 如果图连通,且最小割边为 $0$,应该输出 $1$(至少有一个人去炸) #include <iostream> #include <cstdio> #include <algorithm 阅读全文
posted @ 2022-09-02 09:51 dgsvygd 阅读(12) 评论(0) 推荐(0) 编辑