图论
文章平均质量分 88
Mychael
蒟蒻一枚QAQ
展开
-
Kruskal重构树
Kruskal重构树是基于Kruskal算法的,典型的应用是求两点之间边权最大值的最小值。首先,我们运行Kruskal算法,将边从小到大排列,在运行过程中,每加入一条边,就建立一个节点u,权值为边权的权值w,然后所连两点a,b所在子树的根节点作为它的儿子,就像这样:由于边是按升序加入的,所以这棵二叉树为大根堆,如果需要求两点之间在生成树中路径上最大权值,那么求两点LCA就好原创 2017-09-19 12:56:37 · 583 阅读 · 0 评论 -
BZOJ1093 [ZJOI2007]最大半连通子图 【tarjan缩点 + DAG最长路计数】
题目 一个有向图G=(V,E)称为半连通的(Semi-Connected),如果满足:?u,v∈V,满足u→v或v→u,即对于图中任意 两点u,v,存在一条u到v的有向路径或者从v到u的有向路径。若G’=(V’,E’)满足V’?V,E’是E中所有跟V’有关的边, 则称G’是G的一个导出子图。若G’是G的导出子图,且G’半连通,则称G’为G的半连通子图。若G’是G所有半连通子图 中包含节点数最原创 2017-12-25 19:41:57 · 318 阅读 · 0 评论 -
BZOJ1179 [Apio2009]Atm 【tarjan缩点】
1179: [Apio2009]AtmTime Limit: 15 Sec Memory Limit: 162 MBSubmit: 4048 Solved: 1762[Submit][Status][Discuss]DescriptionInput第一行包含两个整数N、M。N表示路口的个数,M表示道路条数。接下来M行,每行两个整数,这两个整数都在1到N之原创 2017-12-04 19:51:59 · 184 阅读 · 0 评论 -
匈牙利算法 求二分图最大匹配
一直没有学习匈牙利算法,因为网络流实现匹配的功能已经足够强大了。但今天这道题【BZOJ1191】用网络流实在难以解决动态匹配,而鉴于匈牙利算法实现的代码复杂度极小,所以今天学习一下。匈牙利算法用于解决二分图匹配问题,主要思想是增广路,对于当前左点u,若能找到一个相连的未匹配的右点v,则直接匹配,否则进行尝试更改其他已匹配的右点匹配的左点的匹配对象【递归】,若成功则匹配成功原创 2017-11-22 13:49:05 · 309 阅读 · 0 评论 -
NOIP2017 逛公园 题解报告 【最短路 + 拓扑序 + dp】
题目描述策策同学特别喜欢逛公园。公园可以看成一张NNN个点MMM条边构成的有向图,且没有 自环和重边。其中1号点是公园的入口,NNN号点是公园的出口,每条边有一个非负权值, 代表策策经过这条边所要花的时间。策策每天都会去逛公园,他总是从1号点进去,从NNN号点出来。策策喜欢新鲜的事物,它不希望有两天逛公园的路线完全一样,同时策策还是一个 特别热爱学习的好孩子,它不希望每天在逛公原创 2017-11-19 08:25:26 · 1528 阅读 · 2 评论 -
[NOIP2008]双栈排序 【二分图 + 模拟】
题目描述Tom最近在研究一个有趣的排序问题。如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序。操作a如果输入序列不为空,将第一个元素压入栈S1操作b如果栈S1不为空,将S1栈顶元素弹出至输出序列操作c如果输入序列不为空,将第一个元素压入栈S2操作d如果栈S2不为空,将S2栈顶元素弹出原创 2017-10-18 18:21:47 · 288 阅读 · 0 评论 -
S-T平面图
给定一个平面图和一个源点S、汇点T都在图中无边界的区域上,这样的图叫S-T平面图我们把图中每一个独立的面看做一个点,对于每条边e,将它两侧的面连一条边,其中靠近S的一段与S相连,与T相连的一段与T相连于是这个平面图的最小割就是新图的S-T最短路1001: [BeiJing2006]狼抓兔子Time Limit: 15 Sec Memory Limit: 162 MBS原创 2017-09-22 14:13:23 · 632 阅读 · 0 评论 -
【最短路】题型小总结
最短路算法大家都很清楚了,比较常用的有dijkstra、SPFA、floyd板题有N个点,M条边,求S到T的最短路直接套dijkstra板最短路计数统计最短路条数加一个way[]数组统计,每次更新dist时,way[to]=way[u]当dist相等时way[to]+=way[u]打印最短路借助一个pre[]数组,与计数处理方式类原创 2017-09-12 18:07:08 · 378 阅读 · 0 评论 -
[NOIP2016 D1T3]换教室 【floyd+概率dp】
题目描述对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程。在可以选择的课程中,有 2n2n 节课程安排在 nn 个时间段上。在第 ii(1 \leq i \leq n1≤i≤n)个时间段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排在教室 c_ici 上课,而另一节课程在教室 d_idi 进行。在不提交任何申请的情原创 2017-09-11 18:28:21 · 327 阅读 · 0 评论 -
BZOJ2208 [Jsoi2010]连通数 【图的遍历】
题目输入格式输入数据第一行是图顶点的数量,一个正整数N。 接下来N行,每行N个字符。第i行第j列的1表示顶点i到j有边,0则表示无边。输出格式输出一行一个整数,表示该图的连通数。输入样例3 010 001 100 输出样例9提示对于100%的数据,N不超过2000。题解今晚水的题有点多。。。【明天要会考涨涨信心】 N才2000,可以O(n2)O(n^2) 那从每个点出发跑一遍bfs看看能到哪些点原创 2017-12-26 20:44:55 · 304 阅读 · 0 评论