上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 75 下一页
摘要: 原题链接 考察:欧拉回路 思路: 模板题.主要点在删除边,邻接表删除边需要将$road[i].ne$改变,否则时间复杂度是$O(m2)$,修改后的时间复杂度是$O(n+m)$. 关于$dfs$为什么用&,这是回溯时,直接得到的就是新的边,如果我们用$h[u]$修改,那么下次回溯时我们还是用的原来的边 阅读全文
posted @ 2021-07-15 21:35 acmloser 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:欧拉路径 思路: 主要是看懂这句:**保证:铲雪车从起点一定可以到达任何街道。**这句话的意思是说铲雪车在某条道路上.结合题意发现每个点的入度出度相等,构成欧拉路径.由此答案就是所有路径和*2. ##Code //每条边都是双向道,所以每个点入度 = 出度,存在欧拉回路 #inclu 阅读全文
posted @ 2021-07-15 16:20 acmloser 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:状压dp 虽然在二分图题单里...但我感觉是考察的状压dp.. 思路: \(n<=15\),枚举二进制,0是一个集合,1是一个集合.二分图存在当且仅当图内两点集合不存在边.我们求最小的边集合即可. ##Code #include <iostream> #include <cstrin 阅读全文
posted @ 2021-07-15 10:43 acmloser 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分图匹配 思路: 最小路径点覆盖.每个任务的接连完成构成一条简单路径,求最少的简单路径覆盖所有的任务点. ##Code #include <iostream> #include <cstring> using namespace std; const int N = 510; ty 阅读全文
posted @ 2021-07-15 09:25 acmloser 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分图匹配 思路: 实际考察最小覆盖点.将文物与它的关键点建边.除此之外我们需要将点分为两个集合.可以发现每个点与它的关键点奇偶性不同.由此将点分为$x+y$为奇和偶两个集合. 注意建边,需要$(x,y)\(为关键点与文物建边,\)(x,y)$与它的关键点建边. ##Code #in 阅读全文
posted @ 2021-07-15 08:52 acmloser 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分图匹配 错误思路: 统计每种颜色的行数和列数,很明显不一定是全去除行(列). 思路: 对于$mp[i][j]$,如果我们去除了它,要么是去除第$i$行,要么是去除第$j$列.枚举每一种颜色$x$,所在坐标$i,j$,连接边,求最小点覆盖. 时间复杂度$O(50N^3)$ ##Co 阅读全文
posted @ 2021-07-14 20:31 acmloser 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分图 思路: 求最大的集合,该集合内无边相连,即最大独立集.这里比较难把点分成二部分.我们可以直接不分,将每个点看成出度和入度,每条边(不相交)都等价于2个匹配.最后将匹配数$/2$即可. ##Code #include <iostream> #include <cstring> 阅读全文
posted @ 2021-07-14 17:43 acmloser 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分图 思路: 求最大的点集合,集合内任意两点不可以抵达.求的答案略像最小路径重复点覆盖,每条路径上一定存在其他路径无法抵达的点.我们假设答案为$ans$,最小路径重复点覆盖条数为$cnt$. 明显选了一条路径上的点就不能再选这条路径的其他点.所以$ans>=cnt$ 假设每条路径的 阅读全文
posted @ 2021-07-14 15:57 acmloser 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分图匹配 思路: 对于每个$a[i],b[i]$连接边,需要选择最少的点,覆盖所有的边. 对于二分图匹配问题,每个点只能枚举一次. 最小点覆盖问题,两个端点连接的边只能选择其中一个,然后覆盖所有的边. ##Code #include <iostream> #include <cst 阅读全文
posted @ 2021-07-14 01:50 acmloser 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分匹配 思路: 长度为2的骨牌,相当于骨牌所占用两个点匹配,不重叠:没有一个点共用两条边,求能放的骨牌:最大匹配数. 二分匹配前一定要先判断二分图,再将点分成两派,只枚举其中一派. ##Code #include <iostream> #include <cstring> usin 阅读全文
posted @ 2021-07-11 10:04 acmloser 阅读(24) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 75 下一页