图论
痼
这个作者很懒,什么都没留下…
展开
-
最小生成树:优先队列优化 prim(普里姆)
优先队列优化 prim(普里姆) ∙\bullet∙其实迪杰斯特拉和普里姆算法的思想是一样的,只是表示距离的数组d[i]d[i]d[i]含义不一样;在迪杰斯特拉中d[i]d[i]d[i]表示:起点到第iii个点的最短距离;在普里姆中d[i]d[i]d[i]表示:假设每次在d[]d[]d[]数组里找到最小的点是nownownow,那么d[i]d[i]d[i]就表示v(now,i)v(now,i)v(...原创 2019-08-01 16:14:04 · 1899 阅读 · 11 评论 -
最小环问题
floyd找最小环 模板:mp[i][j]mp[i][j]mp[i][j]记录iii到jjj的最短路,dis[i][j]dis[i][j]dis[i][j]代表原始图的顶点间的关系(非iii到jjj的最短路) LL ans = inf;//ans为最小环的长度 for(int k = 1 ; k <= n ; k++) { ...原创 2019-08-29 18:44:02 · 463 阅读 · 0 评论 -
最短路算法(Dijkstra、SPFA、Floyd,vector存边和链式向前星存边)
最短路 ∙\bullet∙在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗? Input 输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地...原创 2019-07-14 20:49:04 · 681 阅读 · 0 评论 -
SWUST power oj 2862(最短路问题,优先队列优化dij)
SWUST power oj 2862 ∙\bullet∙Description 小Y在星际旅行的过程中,意外的发现了一个神奇的圆形空间,当他的飞船进入这个空间之后,他可以在这个圆形的区域内任意飞行而不需要消耗能量。而当他的飞船不在这个圆形区域内时,消耗的能量与行驶的距离在数值上相等。在小Y的旅行途中,一共有 n个这样神奇的空间。小Y想知道,他从第s个圆上某个点出发,到达第t个圆上某个点需要的最小...原创 2019-07-15 19:29:10 · 1212 阅读 · 0 评论 -
拓扑排序
拓扑排序 对一个有向无环图(Directed Acyclic Graph简称DAG)进行拓扑排序算法主要是循环执行以下两步,直到不存在入度为0的顶点为止。 ∙\bullet∙ 选择一个入度为0的顶点并输出之; ∙\bullet∙ 从网中删除此顶点及此定点的所有出边。循环结束后,若输出的顶点数小于网中的顶点数,则输出“有回路”信息,否则输出的顶点序列就是一种拓扑序列。 ∙\bullet∙代码及例题:...原创 2019-07-15 19:59:02 · 148 阅读 · 0 评论 -
匈牙利算法
二分图最大匹配:匈牙利算法 ∙\bullet∙这里是大佬写的一些基本知识 在学习完了之后,就觉得匈牙利算法就是霸王硬上弓算法,直接去抢,让别人腾匹配对象出来给自己用,然后别人再去找匹配对象。 ∙\bullet∙例题: RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她...原创 2019-07-16 18:59:20 · 315 阅读 · 0 评论 -
最小生成树:克鲁斯卡尔算法、prim(普里姆)算法
最小生成树 1.克鲁斯卡尔算法 ∙\bullet∙克鲁斯卡尔算法的实质就是加边,先对边进行从小到大排序,然后再从小的边开始加进树里,但是不能构成环。重复上述步骤,直至树里面有n-1条边(总共有n个结点) 原始图:(从1号点开始) 第一次: 第二次: 第三次: 第四次: 好了,最小生成树就构造好了。 ∙\bullet∙例题: 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省...原创 2019-07-17 18:28:19 · 384 阅读 · 0 评论 -
优先队列优化迪杰斯特拉
优先队列优化迪杰斯特拉 ∙\bullet∙在最朴素的迪杰斯特拉中,我们每次都要跑一层循环来找到最小的 d[i]d[ i ]d[i](d[i]d[ i ]d[i]代表起点到iii这个点的最小距离)然后再更新与iii点有边相连的没有被走过的点jjj的d[j]d[j]d[j] void dij(int start) { d[start]=0; for(int i=1;i<=n;i...原创 2019-07-19 10:59:17 · 1274 阅读 · 0 评论 -
HDU 4619 Warm up 2(最大独立集)
HDU 4619 Warm up 2 Problem Description Some 1×2 dominoes are placed on a plane. Each dominoe is placed either horizontally or vertically. It’s guaranteed the dominoes in the same direction are not ove...原创 2019-07-24 14:35:09 · 201 阅读 · 0 评论 -
二分图判定:染色法
二分图判定方法:染色法 ∙\bullet∙对于一个二分图的两个集合,假设给同一个集合里的点都染上一样的颜色,那么为了区分这两个集合,就把另一个集合的点染成另外一种颜色。很明显:一条匹配边的两个顶点颜色肯定不一样。 ∙\bullet∙对于一个图,判断是不是二分图,就可以用染色法来判定。任意从一个顶点A出发,将它染上色,再找与它相连的顶点B,假设A与B之间的边是匹配边,那么就有两种情况: 1.如果B与...原创 2019-07-25 08:31:38 · 433 阅读 · 0 评论 -
cf 1205B Shortest Cycle(最小环)
题目链接 首先学习一下抽屉原理:https://baike.baidu.com/item/%E6%8A%BD%E5%B1%89%E5%8E%9F%E7%90%86/233776?fr=aladdin 把多于m∗n+1m*n+1m∗n+1(n不为0)个的物体放到n个抽屉里,则至少有一个抽屉里有不少于(m+1)(m+1)(m+1)的物体。 题意:给n个数,在aia_iai和aja_jaj之间建一条...原创 2019-08-29 19:09:40 · 443 阅读 · 0 评论