摘要:
本博文用来记录在学习二分图匹配中看到的知识点。注:下面的图G都为无向连通图一、点支配【支配】对于图G中顶点集合V中的某一个点A与另一个点B有边链接,叫做点A支配B。【点支配集】对于图G中顶点集合V中的某个顶点子集V',可以支配V-V'中的其他点,这个点集V'就是点支配集。【极小支配集】对于支配集V,... 阅读全文
摘要:
题目大意:给出一个带权有向图,将其中的强连通分量缩成点,再求最短路。若有输出最小值,若没有输出:“Nao e possivel entregar a carta” (“It’s impossible to deliver the letter”).解题思路:1、建图,然后Tarjan算法缩点。2、求... 阅读全文
摘要:
题目大意: 给出一个n*m的格子地图,每一格上面是0~9,“*”或“#”。如果格子上是数字代表这个格子上有当前数量的矿石。如果是“*” 代表着当前格子是一个传送阵可以传送到指定的地方。如果是“#”代表当前格子不可达。 现在有一个矿车在坐标(0,0),也就是左上角。他只能向右和下行驶。当遇... 阅读全文
摘要:
首先声明:这个题目的后台数据很水,有很多数据都没有,一些错误的方法也可能会AC。题目大意:有n只牛,牛A认为牛B很牛,牛B认为牛C很牛。给你M个关系(谁认为谁牛),求大家都认为它很牛的牛有几只。PS:如果牛A认为牛B很牛,牛B认为牛C很牛。那么我们就认为牛A认为牛C很牛。(我写的题目大意是不是中文八... 阅读全文
摘要:
题目大意:给一个连通图G,问加入某一条边后图中还有多少割边。解题思路:1、用Tarjan算法求出所有的割边和每一个点的父节点,并记录。记录每一个节点的父节点可以形成一棵深搜树。2、通过求LCA(最近公共祖先)的过程中对于深搜树的处理,记录经过的割边的数量并减去。注意事项:1、因为数据比较大,所以每加... 阅读全文
摘要:
这两天遇到了一些关于大数据处理的题目,发现Java对于这方面的优势很大。最重要的是代码量小了。于是针对这两天对Java的摸索,写一篇日志。记录一下针对ACM来说常用的Java方面的东西。1、输入首先要想输入需要先包括:import java.util.*; 我们需要其中的Scanner类声明的对象... 阅读全文
摘要:
题目大意:给定图G,求最少加多少边可以成为双连通图。解题思路:1、求图G中的双连通分量。2、每一个双联通分量缩成一个点,形成一棵树。3、计算出叶子节点的个数,需要加的边的数量就是(叶子节点个数+1)/2。解题中要注意的:用Tarjan算法求双连通分量的时候,并不是low数组中值不同的就不再同一个双联... 阅读全文
摘要:
题目大意:有N个骑士,他们要开圆桌会议,也就是要坐成一个圈,相互憎恨的两个骑士是不能坐在相邻位置的,那样他们就会打起来。给出所有的憎恨关系。如果有人不可能开会,例如他可能憎恨所有人,就不能再去开会了。求这样人的个数。解题思路:1、首先根据题目给出的憎恨关系建图,然后求补图,这个图表示哪个骑士可以和哪... 阅读全文
摘要:
在此记录一些关于图论的知识点及定义。【广度优先树】图的广度优先搜索可以构造一颗广度优先树。【最短路径树】最短路径算法可以看成是加判断条件的广度优先搜索,借助最短路径算法计算某一点到其他点的最短路径实际上是构建了一棵最短路径树,由于边权问题,最短路径树可能不一样,但最短路径长度一定是相同的。对于一颗最... 阅读全文
摘要:
做完2187之后这1113立马简单了啊。题目大意:给出一个多边形(不一定是凸多边形),求围住这个多边形且离多边形上每一点的最小距离是L的多边形的距离。解题思路:其实看这个题目中的图就能够明白这个题该怎么计算了。1、先求这个多边形的凸包(用的Graham扫描法)。2、求凸包上相邻点之间的距离。这样所有... 阅读全文