随笔分类 -  UVA

摘要:思路 发现模板串最多只有一个*,所以考虑对于一个含有*的模板串,相当于链接了两个不含*的模板串。 所以我们先把所有的串转换为不含*的模板串,然后两两判断是否可以连边(因为只能有一个*,所以判断依据就是 $\operatorname{popcount}(u \operatorname{xor} v)= 阅读全文
posted @ 2022-06-28 19:31 A_zjzj 阅读(40) 评论(0) 推荐(0) 编辑
摘要:思路 问题转化为了在一张 dag 图上求出最小路径覆盖,见洛谷P2764,题解。 只需要用二分图匹配,每一次连接了一对匹配,相当于合并了两条路径(单个点也认为是路径),所以要让路径总数最小,就要让匹配的数量最大,由于是路径,所以每个点的入点和出点都最多只能连两条边。 代码 #include<bits 阅读全文
posted @ 2022-06-27 21:23 A_zjzj 阅读(21) 评论(0) 推荐(0) 编辑
摘要:思路 会发现建完二分图之后,就是求哪些边一定在二分图的完全匹配当中的。 那就只需要求出这条边如果去掉,还能不能跑出完全匹配,如果不能了,那么这条边就一定在完全匹配中,否则就不在。 代码 #include<bits/stdc++.h> using namespace std;typedef long 阅读全文
posted @ 2022-06-26 18:07 A_zjzj 阅读(4) 评论(0) 推荐(0) 编辑
摘要:思路 发现可以先建出一张图,每个节点表示每个订单,之间的连边 uv 表示同一辆出租车能否先完成 u 号订单,再去完成 v 号订单。 这样,问题转化为了在一张 dag 图上求出最小路径覆盖,见洛谷P2764,题解。 只需要用二分图匹配,每一次连接了一对匹配,相当于合并了两条路径(单 阅读全文
posted @ 2022-06-26 17:59 A_zjzj 阅读(14) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示