
图论
hldfight
微信公众号:小胖的安全之旅
展开
-
最小生成树(kruskal)
#include #include #include #include using namespace std;struct node{ int u; int v; int w;}q[200001];int father[50001];int n, m;int cmp(node a, node b){ return a.w < b.w;原创 2016-07-20 16:00:52 · 308 阅读 · 0 评论 -
并查集
前两天学习了并查集,感觉很好,主要是因为有一个讲解非常形象的博客(http://blog.youkuaiyun.com/dellaserss/article/details/7724401),理解很深刻。。int find(int x){ int r=x; while(r!=a[r]) r=a[r]; while(r!=x) { i原创 2016-04-03 17:42:27 · 287 阅读 · 0 评论 -
dfs
这道题还算简单,题意是求在这10*12的矩阵中有几个 联通的W区域。大概就是用dfs,深度搜索,从(0,0)开始,只要搜到W,就将计数变量自增,然后开始dfs,并将访问过的W变为。即可,最后的计数变量的值就是联通区域个数。代码如下:#include #include using namespace std;const int maxn = 100 + 5;int N,原创 2016-04-05 22:16:56 · 361 阅读 · 0 评论 -
最短路练习
学完最短路后,首次练习,做的这道题目:输入包括多组数据。每组数据第一行是两个整数N、M(N输入保证至少存在1条商店到赛场的路线。对于每组输入,输出一行,表示工作人员从商店走到赛场的最短时间。 这道题算是简单题,直接套用模板就可以啦。。#include #include #include #define MAXN 1000000000usi原创 2016-04-08 23:43:47 · 582 阅读 · 0 评论 -
bfs
bfs的简单应用:#include #include #include #include #include using namespace std;int N, K;int vis[100010];struct node { int pos; int minute;};int bfs();int main(){// freopen("in.原创 2016-04-10 12:00:48 · 329 阅读 · 0 评论 -
L2-001. 紧急救援
题目链接在下方:https://www.patest.cn/contests/gplt/L2-001这道题就是一道最短路(dijkstra算法),将模板稍作修改就行了,就是再另外加一个记录路线条数的数组(即当路的长度与下一个需要判断的节点的长度相等时路线就相加)和一个记录每个节点在最短路基础上的车的总数量的数组,然后就ok了,代码如下:#include #includ原创 2016-07-07 17:29:15 · 3995 阅读 · 0 评论 -
L2-004. 这是二叉搜索树吗?
题目链接是:http://https://www.patest.cn/contests/gplt/L2-004题解:根节点的值是位于左右子树之间的,即大于左子树的所有值,但是小于等于右子树的所有值。而先序遍历的序列,第一个值就是其根的值,我们可以利用这些性质来递归判断一棵树是否为二叉搜索树。 首先,遍历这个序列,找到第一个大于等于根节点值的节点,如果从这个节点开始之后的原创 2016-07-10 22:23:50 · 4244 阅读 · 0 评论 -
UESTC149 解救小Q(bfs)
Description小Q被邪恶的大魔王困在了迷宫里,love8909决定去解救她。迷宫里面有一些陷阱,一旦走到陷阱里,就会被困身亡:(,迷宫里还有一些古老的传送阵,一旦走到传送阵上,会强制被传送到传送阵的另一头。现在请你帮助love8909算一算,他至少需要走多少步才能解救到小Q?Input第一行为一个整数$T$,表示测试数据组数。原创 2016-07-14 11:54:13 · 734 阅读 · 0 评论 -
最小生成树(prime)
#include #include #include #include #include using namespace std;const int INF = 0x3f3f3f3f;int mp[105][105], n;int prime(){ int sum=0; int vis[105]; int cost[105]; cost[0原创 2016-07-20 15:59:04 · 273 阅读 · 0 评论 -
最短路
最短路模板,以9个路口为例。#define MAXN 1000000000int a[9][9], d[9], p[9];void spath(int v0){ int v, w, k, min; int vis[9]; for(v=0; v<9; v++) { vis[v] = 0; d[v]=a[v0][v];原创 2016-04-08 22:54:11 · 298 阅读 · 0 评论