摘要:
题意: 给出n个蚂蚁和苹果的坐标,对每个蚂蚁和苹果进行匹配(之间连一条线段),要求:任意两条线段不相交,输出一种方案。 思路: 因为三角形的两边之和大于第三边, 所有他们连线的所有线段和最小的时候线段一定不会相交, 所以这道题目就变成了二分图最小权值匹配,把任意两点间权值即为他们的距离,跑一遍KM即 阅读全文
摘要:
题意: 给出一条管道的几个点(是折线),判断管道之间是否有相交, 思路: 把每条管道的折线形式分为一个个线段,每条管道的线段和其他管道的线段进行枚举判断 说白了就是:判断线段是否相交,也是模板题 AC代码: 1 #include<iostream> 2 #include<algorithm> 3 # 阅读全文
摘要:
题意: 目标人物T和S只要能间接联络到对方就算可以联络,如果T通过A和S联系,如果A换号码了,就切断了与T和S的联系,T和S就无法联系了,现在让我们找出最小要几个人(T和S不能发生事故)发生事故可以使S和T切断联系。 归纳题意: 判断给的无向图中至少去掉几个顶点才能使s和t不联通。 思路: 先判断s 阅读全文
摘要:
##题意 有一个矩阵,问从左上角走到右下角(只能往右或者往下走),再从右下角回到左上角(只能往上或者往左),每个点只能走一次(除了左上角和右下角),问所走的格子的最大总和是多少。 ##思路 因为是矩阵形式,所以用拆点的方法,同一个点拆成两个,容量为1,因为容量为1所以每个点只能流过一次。 因为除了源 阅读全文
摘要:
前置知识: 混合图:一幅图中既有单向边,又有双向边。 混合图(既有有向边又有无向边的图)中欧拉环、欧拉路径的判定需要用到网络流这个算法!!! 有向图的欧拉回路的条件:所有的节点出度等于入度。 下面这两题基本差不多,但是建边啊、判断欧拉图啊等还是有区别的。 总之最后都是需要判断是否为满流,如果为满流则 阅读全文
摘要:
注意一下,代码在C++会TLE,G++可以过 AC代码:(在G++上提交) 1 #include<stdio.h> 2 #include<iostream> 3 #include<queue> 4 #include<string.h> 5 using namespace std; 6 #define 阅读全文
摘要:
题意:中文题,自己看吧 思路:二分图最大匹配模板题目 之前写的二分图是vector写的,https://www.cnblogs.com/OFSHK/p/12228048.html 所以这次上一个数组写的代码, 也算是一个模板 注意一下清空和输入格式 一定要注意清空啊,不然一直WAWAWA!!!! A 阅读全文
摘要:
求最大流模板题 用了EK算法,即bfs+max_flow 具体解析可以看我这篇博客https://www.cnblogs.com/OFSHK/p/12231765.html#_label3 AC代码: 1 #include<stdio.h> 2 #include<iostream> 3 #inclu 阅读全文
摘要:
题意: 给出n个点,m条边,问一个人从家走到barn的最短长度(设家1,barn为N);所以,问的就是 去:1->N 和 返:N->1 两条路径的最短长度,两条路径不能重复;所以,问题变成了:有两个人,从1->N,它们所走路径不能重复(走的边不能重复),求最短长度。 所以变成了最小费用最大流问题,自 阅读全文
摘要:
题目链接:POJ - 1144 求割点的模板题 1 #include<stdio.h> 2 #include<iostream> 3 #include<string.h> 4 #include<algorithm> 5 #include<vector> 6 using namespace std; 阅读全文