随笔分类 - 图论
摘要:$n \leq 1e6,m \leq 1e6$的无向图,每个点属于一个国家(我就说国家咋地),现要求给所有$k$个国家分别选首都,满足:每条边至少一个端点是首都;每个国家有且只有一个首都。 2-SAT。每个点选和不选。条件一直接满足,条件二边数太多。 前缀优化建边。来源 1 //#include<i
阅读全文
摘要:$n \leq 2000$的树有$m \leq 40$个洞,其他点上有各不相同的人,人走一个单位要一个时间,每个洞一秒只能让一人过。问最少多少时间所有人通过洞。 二分答案,然后由于洞口不多,可以把洞口每个时间的状态都表示出来,一个人如果能在$t$时间到达洞就可以向$t,t+1,...$连边。 但边太
阅读全文
摘要:$n \leq 1000,m \leq 2000$的图,每条边是双向的,双向分别有边权,求从1号点的最大边权最小的欧拉回路。 最大值最小--二分,注意图不连通时直接不合法。 接下来就是找是否有欧拉回路,注意这里有些边是不定向的有些边是定向的。为使每个点的入度等于出度,在调整边的时候会有类似“增广”的
阅读全文
摘要:$n \leq 1e5$的树,$m \leq 1e5$个操作:链加;换根;查子树最值。 链剖:随便选个根,换根就记一下现在根。查子树最值时,只有原来的根到现在根这段的子树信息是怪怪的,但也只是挑掉一段子树而已,相当于查dfs序中前缀和后缀的最值。 LCT:不大会。。
阅读全文
摘要:$n \leq 1e5,m \leq 2e5$的无向图,每次问:删若干$(\leq 15)$条边图是否连通。 3563和3569就不写了。。三倍 建个图的dfs树,非树边带随机权,点权为从其出发的所有非树边权异或和,树边的权值为其子树内点权异或和。如此当一棵子树被完全切下来时,会有一些选中的边权异或
阅读全文
摘要:$n \leq 50000$的树,有点权$\leq 1e13$,$q \leq 400000$次操作,有两种操作:从$s$跳到$t$每次$k$步,不到$k$步直接跳到$t$,每次把经过的点取根号;同样的跳法,对经过的点求和。 首先一个数根号没几次就变0了因此可以大力修改。根号大力搞,设块大小$S$,
阅读全文
摘要:$n \leq 100000$的树,有点权,$m \leq 100000$个操作:链加一非负数;查链上绝对值之和。初始数字$-1e8 \leq a_i \leq 1e8$,加的数字$0 \leq d \leq 1e8$。 因为一直加正数所以负数变正数只会发生$n$次,每次发生这件事时暴力改即可。链剖
阅读全文
摘要:$n \leq 100000$个人,分糖,每个人都要有,$m \leq 100000$个条件,表示两个人糖要相等/大于/大于等于/小于/小于等于。问最少分多少糖。可能无解。 老把这东西忘了QAQ 差分约束,大小短,小大长。然后新开个点表示0,因为每个人都要有所以又加和0的$n$个条件。
阅读全文
摘要:$n \leq 5e4$,$m \leq 1e5$的边权无向图,问1到n的路径的边的异或和的最大值。 首先1到n的任意一条路径,可以由1到n的某一条路径异或上若干个环的异或和。 红色路径可以由黑色路径异或上两个环得到。 其次,我搞个树,然后一条非树边会和树边形成环,用这些只包含一条非树边的环异或起来
阅读全文
摘要:$n \leq 300,m \leq 300$,$n*m$的格子里有起点有终点有空地有障碍,人会从起点选一个同行或同列空地跳过去,然后一直这样跳到终点。求至少删掉多少格子使得人跳不到终点。 首先S和T同行或同列无解。 这不是裸的最小割嘛。。等会这复杂度不大对 优化:一行里的点要连来连去嘛,每个点都要
阅读全文
摘要:$n \leq 100000$,$m \leq 500000$的有向图,两点之间还可以以$a \ \ xor \ \ b$的代价从$a$到$b$,问$s$到$t$的最短路。 被自己蠢哭QAQ 首先两个点之间不走给定的边,最短路一定是直接$s$到$t$,因为一个二进制的差异至少要被算一次。观察$s$到
阅读全文
摘要:$n \leq 5e5$,$m \leq 5e5$的无向边权图,$q \leq 5e5$个询问,每次问一系列边是否能同时存在于某棵最小生成树上。 一条边在最小生成树上,当比他小的边都加入后,加入他会使连通块数-1,也就是他两端的点在加入比他小的所有边后仍不在一起。 于是乎把所有询问的所有边排序,每次
阅读全文
摘要:$n \leq 100000$的树,每个点有个糖,$m \leq 100000$种糖,每种糖好吃度$V_i$,吃$j$颗$i$糖会得到愉悦值$V_i*W_j$,$q \leq 100000$个操作:修改一个点上的糖;查询某条链上吃糖的愉悦值。 首先看看能不能用啥数据结构维护。麻烦。好上莫队。 树上的
阅读全文
摘要:$n \leq 100$,$m \leq 100$的$n*m$地图,现进行一个博弈:后手先选个点放棋子,然后先后手轮流向上下左右某个方向移动棋子一步,不能移到障碍点,一个非障碍点不能走两次。问所有后手能赢的位置。 可以发现网格图是一个二分图,在移动时好像在二分图的两边反复横跳。可以在二分图这个模型上
阅读全文
摘要:$n \leq 500000$的树给$m \leq 500000$个路径,$q \leq 500000$个询问每次问一个区间的路径交。 路径交口诀:(前方高能) 判有交,此链有彼祖; 取其交,最深两两祖。 说成人话就是:判两条路径有没有交,只要一条链的lca在另一条链上就一定有交;取两条路径的交,把
阅读全文
摘要:$n \leq 50000$的凸多边形,给一个三角剖分,$q \leq 100000$组询问每次问两点之间最短路。 凸多边形是个特殊的图,一般图找单源最短路已经有精美的算法了。然而多组询问呢? 其实关于路径统计、路径询问的问题,在树上常用的是点分治,每次能统计经过根节点的路径,然后再尽量把他分成较大
阅读全文
摘要:$n \leq 2e5,m \leq 2e5$的有边权图,对每条边问:不改其他边的情况下这条边最多能是多少使得他一定在所有最小生成树上,如果无穷大输出-1. 典型题+耗时题,CF上的绝望时刻。。打VP时前三题花时间太多,导致这题看完题只剩20min,代码还得再敲稳点。 好进入正题,瞎造一棵最小生成树
阅读全文

浙公网安备 33010602011771号