
======图论======
文章平均质量分 66
「已注销」
这个作者很懒,什么都没留下…
展开
-
POJ 1364[King]题解
(传送门)题目大意给出e种大小关系,每种关系都可以用a[i]+a[i+1]+……+a[i+j] >(或 < )一个定值(i+j<=n),问这n种关系是否存在互相矛盾的情况。解题分析这道题是典型的差分约束系统。 差分约束系统解决这样一类题,给出n个不等式xi-yi<=zi,要求求出给定数的最大值。首先联想一下spfa。 是不是有dst[v] <= dst[u]+w[j];等一下,对转移方程中的判断原创 2017-07-24 16:48:17 · 277 阅读 · 0 评论 -
【最大流】BZOJ 1066 [SCOI2007]蜥蜴 题解
(传送门)题目大意已知n只跳跃距离为D的蜥蜴被困在石柱林中,它们可以通过在石柱上跳跃来逃脱,但每个石柱都有一个通过的限制,问最少有多少只蜥蜴最终困在石柱林中。解题分析ans可以转换成总蜥蜴数-最大逃脱蜥蜴数。每个石柱明显说有通过的限制,那么网络流建模,每个石柱拆点,流量限制为通过限制,建立超级源和超级汇,等等… 总之不错的网络流建模题。解题代码#incl...原创 2018-07-27 08:29:16 · 194 阅读 · 0 评论 -
[贪心+并查集+堆]HDU6326(2018多校训练赛第三场 Problem H)Monster Hunter 题解
一种好像之前做过这道题的感觉,然后发现……没用。题目大意你现在正在打一个游戏”Monster Hunter“,游戏中你在一个有nnn个节点的地图上,一共有n−1n−1n-1条双向边相连,初始时你在节点1上,初始HP值为XXX,节点2,3,…,n各有一个怪兽,要消灭第iii个怪兽需要aiaia_i点HP,在消灭第iii个怪兽之后又可以得到bibib_i的HP,消灭第iii个怪兽需要先把他和你...原创 2018-08-27 10:12:41 · 585 阅读 · 0 评论 -
2-SAT
定义2-SAT问题如下:给出nnn个集合,每个集合内有两个元素(例如:truetruetrue和falsefalsefalse),要求每个集合内必须取且只能取一个元素,并且给出一些限制条件,例如选iii就不能选jjj,求一种合法方案。分析首先如果集合iii中有两个元素,那么可以把它们标号为2∗(i−1)2∗(i−1)2*(i-1)和2∗(i−1)+12∗(i−1)+12*(i-1)...原创 2018-08-28 11:18:05 · 1380 阅读 · 0 评论 -
[二分+2-SAT]POJ 2749 Building roads 题解
[二分+2-SAT]POJ 2749 Building roads 题解题目大意给出nnn个谷仓和2个中转站的坐标,要求每个谷仓都必须连且只连接其中一个中转站,有k1k1k1对谷仓由于某种原因不能连在同一个中转站,还有k2k2k2对谷仓由于另某种原因一定要连载同一个中转站,平面上两点路径等于两点的曼哈顿距离,问所有谷仓连接后所有两个谷仓的最长路的最小值是多少。解题分析“连且只连接其中一个中...原创 2018-09-17 21:49:31 · 224 阅读 · 0 评论 -
[并查集]LibreOJ#10067 构造完全图 题解
题目大意见题目……解题报告完全不会做啊…… 从边入手这道题. 把每条边所连的左右两个点分别看做一个集合,左边集合和右边集合所要连的边数是(cnt[i]*cnt[j]-1)。 但我们要连的边权是多大?不能比当前的边还小,所以边权就为(当前边的边权+1),我们可以贪心的去解决,把边从小到大排序,并查集一下就行了,当然还得加上原始边的边权。全是抄的……...原创 2018-09-10 21:10:38 · 600 阅读 · 0 评论 -
[最短路+拓扑]BZOJ 2750 [HAOI2012]Road
题目大意给出一个有向图,求有向图上每条边被多少不同的最短路通过。n≤1500,e≤5000n\le1500,e\le5000n≤1500,e≤5000解题分析签到题?反正并不难,就对于每个点先求最短路,然后取出所有dst[x]+w[j]==dsd[son[j]]dst[x]+w[j]==dsd[son[j]]dst[x]+w[j]==dsd[son[j]]对跑出来的图进行拓扑排序,正着做一...原创 2018-10-25 20:42:17 · 246 阅读 · 0 评论 -
[DFS序+树状数组+nim游戏]BZOJ 2819 nim 题解
[DFS序+树状数组+nim游戏]BZOJ 2819 Nim 题解题目大意给出一棵带点权的树,多组询问树上一条链上的所有点的点权作为nim游戏的初始石子数,问是否存在必胜策略,带修改。N,Q≤500000N,Q\le500000N,Q≤500000解题分析如果看过我那篇上了两次又删了两次的2017暑假集训日记的话~~(虽然我觉得应该没人记得82695518)~~,应该知道我对于这道题的无...原创 2018-10-24 20:59:54 · 324 阅读 · 0 评论 -
[二分+LCA+差分]【NOIP2015D2T3】运输计划 题解
传送门: 洛谷:https://daniu.luogu.org/problemnew/show/2680#sub (链接给的是大牛分站的,主站上T了一个点,大牛分站A了,“高性能”,卡常数) UOJ:http://uoj.ac/problem/150题目分析给出一棵nn个节点且有边权的数和m个从sis_i到tit_i的运输计划,完成所有计划所花费的时间为运输计划中的最大时间。现在可以选中树上的原创 2017-10-25 16:02:32 · 459 阅读 · 0 评论 -
边双联通分量
NOIP最后一次学习+敲板子预备知识桥:如果这条边去掉后图的联通分量增加,则这条边称为桥。边双联通分量:如果一个对于一个图的某个子图,任意两点至少存在两条“边不重复”的路径,则这个子图是边双联通分量。很显然,任意一个边双中不含有桥。除桥外每条边都仅属于一个边双。如果把原图中所有桥删除,每个联通分量都是原图中的一个边双。边双之间不存在公共节点。模板求边双的做法是两次dfs,第一次先找出原图中所有的桥。原创 2017-11-10 17:24:19 · 261 阅读 · 0 评论 -
HDU 1599[find the mincost route]题解
(传送门)题目大意给出一个无向图,求这个图的最小环(环上至少有两条边,每个点只能经过一次)。题目分析对于一个无向图,并不是像有向图那样先floyd扫然后查找f[i][i]最小值,但仍然可以用floyd来解决。 在枚举最外层k的时候,此时所有的最短路都没有k,那么可以找出含k的最小环。 先说明,在某个环上的最大点编号为最外层枚举的k,现在有两个点i,j与k直接相连,且,那么最大点编号为k,i,j,原创 2017-07-24 13:37:34 · 306 阅读 · 0 评论 -
强联通分量——学习笔记
温馨提示:接下来讨论的情况全部建立在有向图的基础上。如果两个点i,j满足i能到j且j能到i,则i和j强联通。所有点都强连通的图是强连通图,一个有向图中的所有最大(就是不能再扩大了)的强连通子图都是这个有向图的强连通分量。强联通分量貌似除了环缩点也没别的作用了。求有向图中的强联通分量可以用Tarjan算法,用递归的方法。复杂度为O(n);Tarjan的核心就是两个数组dfn和low,其中dfn[i]是原创 2017-08-02 22:26:00 · 366 阅读 · 0 评论 -
最大流-EK算法
最大流给出一个图,图上的每一条边都有一个流量限制,要求每条边的实际流量都不大于流量限制,且除起点和终点外,每个点的流进量等于流出量。要求最后终点流量最大(若理解起来有点困难,可以联系一下水管系统)。基本定理反向弧对于一条边,有一条反向边,这条边的流量限制是0(注意,这不是真正存在的边,所以容量=0),我们称之为反向弧。对于一条u->v的边,他的反向弧的流量是他流量的相反数。后向弧起到的作用是“撤销”原创 2017-09-21 21:12:39 · 425 阅读 · 0 评论 -
最大流-Dinic算法
Dinic算法EK算法非常简单明了的解释了最大流的求流的过程,但是复杂度较高,所以需要更高级的算法来解决,没错,标题写着呢,Dinic算法。Dinic算法的过程,只有两个,没错,也只有两个……(EK算法两个步骤:找增广路,对增广路上所有边加流量)1.刷层次图Dinic分为两个步骤:1.求层次图。2.求阻塞流。 1.求层次图 顾名思义,层次图是一层一层的,比如: 很明显用bfs就可以求出层次图原创 2017-09-27 16:08:49 · 564 阅读 · 0 评论 -
[最大流]BZOJ 1711: [Usaco2007 Open]Dining吃饭 题解
本题有权限……题目描述农夫JOHN为牛们做了很好的食品,但是牛吃饭很挑食. 每一头牛只喜欢吃一些食品和饮料而别的一概不吃.虽然他不一定能把所有牛喂饱,他还是想让尽可能多的牛吃到他们喜欢的食品和饮料. 农夫JOHN做了F (1 <= F <= 100) 种食品并准备了D (1 <= D <= 100) 种饮料. 他的N (1 <= N <= 100)头牛都以决定了是否愿意吃某种食物和喝某种饮料. 农夫原创 2017-09-27 19:53:50 · 351 阅读 · 0 评论 -
二分图匹配
二分图最大匹配……free……原创 2017-09-28 14:09:29 · 220 阅读 · 0 评论 -
[二分+二分图匹配]BZOJ 4443: [Scoi2015]小凸玩矩阵 题解
(传送门)题目大意题目说的很清楚,不说了。解题分析学过二分图匹配的一定做过一道题,要求每行每列只能选一个问最多能拿多少个,这个题就是行向列连边然后二分图匹配就行。那么这道题是多了一个K大值最小,也可以看做n-K+1大值最小,那么最大最小就是二分答案,那么验证,就需要保证所有低于mid的是合法可以连边,如果最后可以选出n-K+1个数小于mid,那么因为n<=m,所以剩下来的可以任意选都合法,也就是可以原创 2017-09-29 11:38:19 · 269 阅读 · 0 评论 -
[LCA]【NOIP2016D1T3】天天爱跑步 题解
传送门: UOJ 洛谷解题报告这道题应该是NOIP近3年来最难的一道题了(2015寻找道路&2014解方程表示不服)。细思极恐……这两年最难的两道题目尽然都要用LCA。所以今年?树链剖分?LCT?什么东西,能吃吗?这道题的原数据有一些奇奇怪怪的限制,可能是你考试时骗分的灵感,但也可能是……这道题正解的提示(反正我从来没注意过)。声明:以下的数据分析不是我这个蒟蒻分析的出来的,copy了ZigZa原创 2017-10-27 21:09:09 · 378 阅读 · 0 评论 -
[BFS]Codeforces 906C Party题解
题目大意给出一个nnn个点eee条边的无向联通图,每次可以选中一个点,将这个点和它相邻的点缩成一个点,求最少需要多少次才能把图缩成一个点。解题分析首先要发现,以不同的顺序选中同样的点的结果其实是相同的,所以我们关注的就是选出哪些点,又由于n≤22n\le22n≤22,所以可以考虑二进制枚举选出的点集S,然后是结论:如果S内点联通,且任意一个S外点都至少与一个S内点相连,那么S合法。那么这...原创 2018-11-05 19:39:25 · 388 阅读 · 0 评论