
图论
_缘之空_
不要害怕落日的黑暗,因为明天的太阳还会照常升起
展开
-
【题解】 UVA306 Cipher
题目相当于是求一个串按某种指定方式换位多次后形成的串。因为 kkk 很大,所以不能直接模拟。我们考虑样例,对于一个以 4 5 3 7 2 8 1 6 10 9 为标准的转移,我们若转移两次,就相当于进行一次以 7 5 3 1 2 8 4 6 10 为标准的转移,并且每次换的方式是固定的,所以满足结合律,可以用快速幂来解决。时间复杂度为 O(nlogk)O(nlogk)O(nlogk)#include<bits/stdc++.h>using namespace std;const in原创 2021-01-07 22:04:52 · 171 阅读 · 0 评论 -
考试前三题题解
T1 数你太美【第一周】答案肯定不是一位就是两位,先扫描看是否有相同的数,没有就排序取最小的。#include<bits/stdc++.h>using namespace std;const int M=15;int a[M],b[M],n,m;bool vis[M],_vis[M];int main(){ scanf("%d %d",&n,&m); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); vis原创 2020-09-12 16:30:04 · 226 阅读 · 0 评论 -
【模板】LCA
tarjan#include<bits/stdc++.h>using namespace std;const int M=1e5*2+5;int n,m,fa[M],ans[M];int vis[M];vector<int> G[M];vector<int> q[M];vector<int> q_[M];void add(int x,int y){ G[x].push_back(y); G[y].push_back(x);}原创 2020-09-23 21:29:27 · 152 阅读 · 0 评论 -
【模版】拓扑排序
概念拓扑序代表了元素之间的条件关系,拓扑排序就是用有向图无环来存储关系并求出序列。实现直接邻接表存图,当某个点入度为0,就记录并删掉与它相连的边。优先队列确保字典序最小。#include <bits/stdc++.h>using namespace std;const int M=1e6*5+5;vector<int> G[M];priority_queue<int,vector<int>,greater<int> > q;in原创 2020-08-21 22:24:59 · 188 阅读 · 2 评论 -
【模版】欧拉路
定义判定实现采用栈+邻接表#include <bits/stdc++.h>using namespace std;const int M=1e6*5+5;int Stack[M],_Stack[M],Head[M],Next[M],ans[M],ver[M],per[M],top,cnt,tot,_tot,t;int size[M],in[M],out[M];int fa[M],vis[M],_vis[M];int T,len,S;void makeset(int n)原创 2020-08-21 22:13:15 · 204 阅读 · 0 评论 -
野餐规划(最小度限制生成树)
题目题目描述一群小丑演员,以其出色的柔术表演,可以无限量的钻进同一辆汽车中,而闻名世界。现在他们想要去公园玩耍,但是他们的经费非常紧缺。他们将乘车前往公园,为了减少花费,他们决定选择一种合理的乘车方式,可以使得他们去往公园需要的所有汽车行驶的总公里数最少。为此,他们愿意通过很多人挤在同一辆车的方式,来减少汽车行驶的总花销。由此,他们可以很多人驾车到某一个兄弟的家里,然后所有人都钻进一辆车里,再继续前进。公园的停车场能停放的车的数量有限,而且因为公园有入场费,所以一旦一辆车子进入到公园内,就必须原创 2020-08-17 20:36:27 · 864 阅读 · 5 评论 -
北极网络(Kruskal)
题目描述国防部(DND)希望通过无线网络连接几个北部前哨站。在建立网络时将使用两种不同的通信技术:每个前哨站都有一个无线电收发器,一些前哨站还有一个通信卫星。任意两个拥有通信卫星的前哨站不论它们的位置如何,都可以通过卫星进行通信。而如果利用无线电进行通信,则需要两个前哨站的距离不能超过D方可进行通信。而D的大小取决于收发器的功率,收发器的功率越大,D也就越大,但是需要的成本也就越高。出于采购和维护的考虑,所有的前哨站都采用相同的收发器,也就是说所有前哨站的无线电通信距离D都是相同的。你需要确定原创 2020-08-14 00:08:55 · 529 阅读 · 2 评论 -
【模版】最短路
Dijkstra+优化#include<iostream>#include<stack>#include<algorithm>#include<cstdio>#include<cmath>#include<cstring>#include<cctype>#include<iomanip>#include<vector>#include<queue>using name原创 2020-08-10 20:36:27 · 190 阅读 · 0 评论