
图论
Spy97
这个作者很懒,什么都没留下…
展开
-
Codeforces 1217F Forced Online Queries Problem
题意n个点的图,一开始是空图,两种操作,一种是增减(u,v)(u,v)(u,v),若之前无边,则加上该边,若之前有边,则去掉该边,另一种是提问两个点,看是否联通,强制在线。题解先考虑不强制在线的解法定期重构,每次求解一个块内的答案首先,将块之前的边且最后留下来的边分为两种一是在块内没有出现的边二是在块内出现的边对于第一种边,直接建立即可,而且后面也不会被删去在建完第一种边之后,紧...原创 2019-12-12 22:49:27 · 264 阅读 · 0 评论 -
2019牛客多校第三场 Graph Games
题意给出一个无向图,S(x)S(x)S(x) 表示点 xxx 所能达到的所有点的集合有两种操作,一种是修改一个区间的边的状态,即在图上的变为不在,不在的加上去另一种是询问两个点的 S(x)、S(y)S(x)、S(y)S(x)、S(y) 是否相同题解利用 HashHashHash,给每个点附一个随机的64位整数,将所连点的权值异或和作为S(x)S(x)S(x)的值,来判断是否相同将所...原创 2019-07-26 18:48:38 · 188 阅读 · 0 评论 -
2019杭电多校第三场 HDU6604 支配树
题意给出一个DAG,入度为0的点为控制点,现在有两个点要沿边走向控制点,问破坏哪些点可以使其中一个无法到达,求点的个数题解支配树模板题,可惜之前没听说过原创 2019-07-30 13:46:43 · 251 阅读 · 0 评论 -
NOIP 2015 运输计划 树上差分 二分答案
#include<bits/stdc++.h>#define N 300010#define INF 0x3f3f3f3f#define eps 1e-10#define pi 3.141592653589793#define P 1000000007 #define LL long long#define pb push_back#define fi first#d...原创 2019-06-06 00:40:34 · 136 阅读 · 0 评论 -
ZOJ 4097 Rescue the Princess
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5986题意nnn个点,mmm条边的图,询问z,x,yz,x,yz,x,y,是否能找到xxx到zzz,yyy到zzz没有重复经过路的方案。题解边双联通,进行缩点,然后用LCA判断。代码#include<bits/stdc++.h>#define...原创 2019-04-17 00:08:44 · 354 阅读 · 0 评论 -
华中科技大学程序设计邀请赛网络赛 F War
题意给出一个n个点的树,询问编号在一个区间内的点到给定点的最近距离。题解分块暴力求解,整块中用SPFA预处理,零散的用LCA求解。首先根据内存限制,计算出打开能开200∗N200*N200∗N的数组,所以,每500500500个点为一块,在块内跑一边SPFA,求出块内的点到其他点的最短路。询问区间[l,r][l,r][l,r],分为多个整块的和多个零散的在块以外的,整块的就用之前SP...原创 2019-04-14 00:10:41 · 227 阅读 · 0 评论 -
codeforces 1140F Extending Set of Points
题解将x坐标相同的点连接到一起,将y坐标相同的点连接到一起,每个联通块的x、y坐标的种类的乘积的和就是答案。代码#include<bits/stdc++.h>#define N 600010#define INF 0x3f3f3f3f#define eps 1e-10// #define pi 3.141592653589793#define P 1000000007...原创 2019-04-06 18:14:45 · 321 阅读 · 0 评论 -
Codeforces 1139E Maximize Mex
题意有nnn个人,每个人有一个属性值cic_ici,并属于唯一的一个俱乐部bib_ibi,有ddd天,每天指定一个人离开他所属的俱乐部(以后不再回来),离开后,每一个俱乐部每天要推举一个人,每天被推举上来的人的属性值构成序列SSS,要使SSS的mexmexmex值最大,输出每天的mexmexmex最大值。mex是指在一个序列中没有出现的最小自然数,在博弈论的SG函数中用到。例如:[0,...原创 2019-03-22 09:37:52 · 408 阅读 · 2 评论 -
Kruskal重构树
建树方法在Kruskal求最小/最大生成树的基础上,假设要加入的u、v两点,边权为w,设u、v两点的father为fu、fv,新建一个点(从n+1开始标号)p,father[fu]=father[fv]=p,将点p的点权设为w。 使用方法:最小生成树的任意两点的最大值:将边从小到大排序后,正常Kruskal重构树建边,加上LCA即可,LCAdence点权就是最大值最大生成树...原创 2018-09-13 16:08:44 · 201 阅读 · 0 评论 -
HDU 6393
题意:一个n个点,n条边的图,2中操作,1是将某条边的权值更改,2是询问两点的最短距离。题解: 由于n个点,n条边,所以是树加一个环,将环上的边随意取出一条,就是1颗树,以取出的边的一个端点为根,建立有根树。虚线就是取出的边。红色为环上的边。对于更改边的权值的操作,用dfs序+区间修改点查询的树状树组维护。对于询问最短路的操作,用LCA分类解决。假设询问的两点是x、...原创 2018-08-15 00:07:06 · 357 阅读 · 0 评论 -
HDU 6326
题意:一棵结点数为n的树,除1号结点外都有一个怪兽,消灭第i个结点上的怪兽会消耗ai的HP,但消灭完之后会恢复bi的HP。现在从结点1出发去打怪,最少初始时含有多少HP才能保证能打完所有的怪,而且任何时候的HP都不为负。题解:以1为根,将无根树变为有根树。要想消灭结点x的怪兽,必须先消灭x的父亲结点上的怪兽。当不考虑消灭要先消灭的父亲的限制时,就是说可以随便、任意选择顺序的情况。...原创 2018-07-31 20:14:09 · 535 阅读 · 0 评论 -
HDU 6331
题意:给一张有向图,q个询问,询问s到t至少经过k条路的最近距离。题解:f[k][i][j]表示从i到j经过k条路的最短路,则f[k][i][j]=min{f[k-1][i][t]+map[t][j]},(1<=t<=n),这个方程很好理解,从i到j经过k条路,我们枚举中间点t,从i到t经过k-1条,从t到j经过1条,取最短的就是从i到j经过k条。一般的,还有f[k]...原创 2018-07-31 13:54:10 · 342 阅读 · 0 评论 -
codeforces 933C
题意:给出三个点,求将二维平面划分成几部分。题解:感谢quailty的出题以及题解。首先是常规的欧拉公式:其中,表示划分成的平面数,为边数(edge),为顶点数(vertices)。这里,将其进行变形。表示整个图形的圆弧数,对单个圆来说,等于圆的上的交点数,求和即可求出,表示所有圆产生的交点数,我们可以将所有两两圆的交点插入set中,set.size()即为,...原创 2018-07-28 19:49:13 · 691 阅读 · 0 评论 -
CSU 2017 NCPC2016
2017: Highest TowerSubmit Page Summary Time Limit: 7 Sec Memory Limit: 128 Mb Submitted: 14 Solved: 2 DescriptionOni loved to build tall towers of blocks. Her parents were not as ...原创 2018-04-04 09:12:18 · 282 阅读 · 0 评论 -
二分图总结
定义:一组点集可以分为两部分,且每部分内各点互不相连,两部分的点之间可以有边。判定:所有回路的长度都是偶数,即不存在长度为奇数的环。二分图最大匹配算法:匈牙利算法,时间复杂度,最坏 O(点数 × 边数)//二分图匹配//n为男生数目,m为女生数目//line[i][j]第i个男生和第j个女生有关系//g[i]第i个女生的对象//注意used每次都要清零int n,m...原创 2018-04-13 20:31:44 · 501 阅读 · 0 评论 -
HDU 1534 Schedule Problem
Schedule ProblemProblem DescriptionA project can be divided into several parts. Each part should be completed continuously. This means if a part should take 3 days, we should use a continuous 3 da...原创 2018-03-24 23:41:48 · 233 阅读 · 0 评论 -
HDU 6252 CCPC FINAL 2017
Subway ChasingProblem DescriptionMr. Panda and God Sheep are roommates and working in the same company. They always take subway to work together. There are N subway stations on their route, number...原创 2018-03-24 15:29:50 · 677 阅读 · 0 评论 -
HDU 3394
题目描述:n个地点,m条路,要规划旅游路线(经过多个地点),必须是个环形。如果一条路属于多条旅游路线,就可能发生相撞,如果一条路不属于任何旅游路线,就统计一下。要求输出不属于任何旅游路线的路的数目以及会相撞的路的数目。题解:点双联通分量问题。第一问:桥的数量;第二问:如果一个联通分量中边的数目大于点的数目,则所有边都会发生危险。代码:#include#define原创 2018-01-29 15:25:55 · 432 阅读 · 0 评论 -
HDU 4738
题目描述:曹操在长江上修了n个岛,m座桥,桥上有一定士兵把守。刘备派人去炸一座桥,使得避免所有岛屿连成一起。要求派出的人不少与桥上把守的士兵,问最少派多少人。这是裸的割顶(割点)、割桥问题,找出所有的割桥,求最小值即可。坑点:1、重边问题,判断如果“割桥”有重边,那么其实不是割桥,不能考虑。2、有可能一开始就不是所有的岛连接在一起,则不需要派人。3、当割桥上士兵为0时,要派一个原创 2018-01-27 19:59:46 · 469 阅读 · 0 评论