![](https://img-blog.csdnimg.cn/20210430113542202.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Acwing课程笔记
Acwing听课笔记,用于自己复习,欢迎交流
Taoger_Xu
这个作者很懒,什么都没留下…
展开
-
最大异或对(Trie树)
最大异或对 #include<iostream> #include<algorithm> using namespace std; const int N=31*1e5+10; int s[N][2],idx=0; void insert(int x) { int p=0; for(int i=30;i>=0;i--){ int u=x>>i&1; if(!s[p][u]) s[p][u]=++idx;原创 2021-04-16 23:52:00 · 52 阅读 · 0 评论 -
379.捉迷藏(最小点覆盖)
捉迷藏 最小相交路径点覆盖 下面的不是严谨的数学证明,但是可能让你觉得这样求的算法貌似大概是对的 最小可重复路径点覆盖 #Dilworth定理 二分图的常用技巧–建单向边即可 //DAG图中,最长反链长度 = 最小链覆盖(用最少的链覆盖所有顶点) //所以我们先对有向图传递闭包(偏序关系补全),然后n^2 //有向无环图G的最小路径点覆盖包含的路径条数,等于n减去拆点二分图G2的最大匹配数。证明暂且不会,y总说学了网络流再学证明 #include<iostream> #include&l原创 2021-04-16 19:46:49 · 106 阅读 · 0 评论 -
861. 二分图的最大匹配
题目链接 不写st数组的后果 模板代码 #include<iostream> #include<cstring> using namespace std; const int N=510,M=1e5+10; int h[N],e[M],ne[M],idx; bool st[N]; int match[N]; int n,m; void init() { memset(h,-1,sizeof(h)); idx=0; } void add(int a,int b) {原创 2021-04-16 16:48:40 · 255 阅读 · 0 评论 -
选择最佳线路(多源最短路)
文章目录题目大意模型总结1:法一2:法二 题目大意 模型总结 多起点,单终点的最短路,常用的求解方法: 1:法一 法一:建立虚拟源点,向多个起点连一条代价为0的边,跑一遍最短路; #include<iostream> #include<cstring> #include<queue> #include<algorithm> #include<cstdio> #include<vector> using namespace std;原创 2021-04-11 19:01:46 · 169 阅读 · 0 评论 -
1135. 新年好
题目大意 题目链接 AC模板 //暴力枚举所有的走访顺序,假设顺序5!*O(m)*5*k,k为是spfa的常数,可以考虑先求五个亲戚和家到其他站点的最短路, //枚举拜访顺序的时候直接查表即可,这样的复杂度为O(m)*5+5!,思路类似于预处理然后查表 #include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<queue> using n原创 2021-04-11 17:40:38 · 56 阅读 · 0 评论