不来也不去的一只失忆蝴蝶

曾迷途才怕追不上满街赶路人

[arc076f]Exhausted?

前言你们都会hall定理推广版本。 但是我没用hall定理做啊。题目大意一个二分图,X部每个点i连了Y部的[1,Li]和[Ri,m]。 求n-最大匹配。做法考虑到二分图最大匹配等于最小覆盖。 最优方案小我们一定是选择了Y部的一个前缀和一个后缀,剩余不能因此得到覆盖的X部点要选上。 假如我们...

2017-11-02 17:37:12

阅读数:292

评论数:0

[agc002d]Stamp Rally

前言简单套路题。题目大意一副连通图,每次询问从两个点x和y出发走出两条路径,希望至少经过一次的点数量等于z,经过的边最大编号最小是多少。简单题假如可以暴力,你可以按编号从小到大加入边,如果x和y不在一个联通块,能经过的点等于两个所在联通块大小的和,否则等于所在联通块大小,找到第一次大于等于z的位置...

2017-10-21 11:44:06

阅读数:404

评论数:0

[agc011c]Squared Graph

前言很简单的计数套路。 没看过题解我有可能做复杂了。题意不想讲。做法先讲原图孤立点统计贡献,接下来讨论的所有点均不孤立。 我们想要统计一个联通块,可以统计特征点的个数。 即对于一个x.y,如果其是特征点,不存在与其联通的一个点t.u满足t<xt<x或x.z满足z<yz<...

2017-10-12 16:49:25

阅读数:433

评论数:0

[bzoj3060]Tour de Byteotia

题目大意给定一个n个点m条边的无向图,问最少删掉多少条边能使得编号小于等于k的点都不在环上。贪心把两边编号都>k的边先加入。 再把剩余的边加入,若形成环就删去新加边。 闭上眼睛感受当然最优。#include<cstdio> #include<algorithm> ...

2017-07-07 16:58:43

阅读数:264

评论数:0

港湾

题目描述放假啦! 小林和康娜来到了港口,看到有货船正在卸货。 港口十分狭窄,只有两个卸货区可以使用。每个卸货区上面可以堆积任意多个箱子。 每卸下来一个箱子,工作人员都会把这个箱子放在某个卸货区的顶端。之后,当车辆来运走这个箱子的时候,也必须保证这个箱子在某个卸货区的顶端。 港口今天一共运来...

2017-06-15 15:05:17

阅读数:316

评论数:0

[bzoj1016][JSOI2008]最小生成树计数

题目大意给定n个点m条无向边的图G,求G的最小生成树个数,模31011。 其实有个特殊条件但我们的高端做法可以忽略。 n<=100,m<=1000矩阵树定理我们来思考一个图G所有最小生成树的同一个性质: 假如我加入所有边权<=w的边,任何生成树的联通情况一定是一致的。 脑...

2017-02-15 14:47:49

阅读数:325

评论数:0

[51nod1743]雪之国度

题目大意对于一个无向图,边有边权。对于每组询问u、v,如果可以找到两条从u到v不相交的路径,输出路径上边权最大值的最小值。维护边双我们考虑到,如果按照边权从小到大加边,第一次使得u和v处在同一个边双联通分量时我就求得了答案。 考虑一个很强的方法,用LCT或启发式合并维护森林,动态维护双连通分量。...

2016-11-16 20:40:59

阅读数:430

评论数:0

[bzoj4690]Never Wait for Weights

题目大意一堆未知数,之间有权值关系如x-y=z 每次给出关系或询问两个未知数的差权值并查集关系的维护显然用并查集。 每个节点维护如果父亲权值为0我的权值应该是多少即可。#include<cstdio> #include<algorithm> #define fo(i,a...

2016-11-09 21:56:17

阅读数:297

评论数:0

Dash speed

题目大意一颗树,每条边有边权[l,r]。 多次询问每次给定一个权值v,保留树上所有的边[l,r]使得l<=v且v<=r,然后求这片森林的最长简单路径长度。经典CDQ考虑分治算法 把每条边插入线段树区间中 然后一个权值的答案就是加入根到其对应叶子路径上经过的线段树节点上的所有边。 ...

2016-11-05 16:15:22

阅读数:428

评论数:0

[CF593D]行走

题目大意一颗树边上有边权,每次要么把一条边边权改小(不会改到1以下),要么给定权值v,让它沿一条路径整除下去,问最终变成多少。 所有权值均在10^18以内套路除以大于1的数最多除64次就会变成0。 边权只会改小,于是我们把边权为1的缩起来。 并查集实现即可。#include<cstdi...

2016-11-02 21:46:48

阅读数:180

评论数:0

graph

题目大意维护一个图,若干操作每次加入一条边或删除一条已有边,每次操作后都输出该图是否为二分图。CDQ预处理每条边的存在时间。 考虑一个时刻,此时存在的边是所有存在时间区间包含该时刻的。对于每个时刻做的话,就是把所有包含该时刻的时间区间对应边加入并查集。 现在考虑把所有时刻一起做。 solve...

2016-09-18 21:41:36

阅读数:231

评论数:0

Ztxz16学图论

题目大意给定一张图,每次询问编号在[l,r]的边连上后会形成多少联通块。离线做法我们考虑莫队。 考虑左端点所在的每一块,左端点到块末最多根号的距离,右端点是单调的。并查集容易添加,因此只保留块末到右端点的联通情况,每次暴力加上块末到左端点部分。在线做法把加入1~i条边,每条边权值设置为编号,所形...

2016-09-04 07:49:03

阅读数:569

评论数:0

冷战

题目大意有两种操作,添加一条边或者询问两点在哪次操作后联通。 强制在线。辣鸡LCT一条边的权值是其的加入时间。 询问操作便是询问路径上的最大值。 我们不会维护边权,因此可以把边变成的点,向两端连边。 愉快被卡常。#include<cstdio> #include<algo...

2016-07-07 20:36:07

阅读数:400

评论数:0

[UER #1C]Dzy Loves Graph

题目大意有n个结点,初始没有边。m个操作,操作类型有三: 1、a与b之间连一条长度为i的边(i为操作编号) 2、删除比边权最大的k条边。 3、撤销刚刚执行的操作,保证撤销的不是撤销操作。 每次操作后输出最小生成树所有边权和。可持久化并查集有许多版本,于是我们发现版本之间形成树的结构,为什么...

2016-07-03 08:26:27

阅读数:498

评论数:0

[bzoj2733][HNOI2012]永无乡

题目大意有n个点,初始时有一些边。 每次操作要么加一条边,要么询问一个点所在联通块数值第k大的点。水题联通情况并查集维护,每个连通块再对应一个权值线段树。 合并连通块就是线段树合并。#include<cstdio> #include<algorithm> #define...

2016-06-26 10:23:14

阅读数:758

评论数:0

[bzoj4551][TJOI&HEOI2016]树

题目大意一颗树,除根节点外初始都是白点,根节点是黑点。 每次染黑一个结点或者询问一个结点的最近黑色祖先。倒序处理倒着做,于是每次是染白一个结点。 那么就并查集搞呀!#include<cstdio> #include<algorithm> #define fo(i,a,b...

2016-05-10 19:29:21

阅读数:854

评论数:0

[bzoj4569][SCOI2016]萌萌哒

题目大意有一个无前导0的n位数,有m个限制形如[l1,r1]=[l2,r2],问满足条件的数有多少种,答案模10^9+7。倍增我们用ST表,f[i,j]表示[i,i+2^j-1]这一段。 那么初始时每一段单独成一个集合。 对于一个限制可以拆成log 份,然后进行集合合并。 然后呢,如果任意f...

2016-05-06 19:23:52

阅读数:1716

评论数:0

[bzoj3673]可持久化并查集

题目大意实现一个可持久化并查集做法用可持久化线段树或平衡树之类的维护一个可持久化数组就好了。 这里我用了rope大法#include<cstdio> #include<algorithm> #include<ext/rope> #define fo(i,a,b...

2016-04-13 19:52:41

阅读数:647

评论数:0

奇妙的数列

题目描述线性做法我们设left[i]表示最大的k#include<cstdio> #include<algorithm> #define fo(i,a,b) for(i...

2016-04-11 14:09:03

阅读数:236

评论数:0

beyond

题目大意给定两个长度为N字符串A与B,求出最大的L,使得A与B的前L个字符所组成的字符串循环同构。N<=2000000。推一推我们知道循环同构的一个特征:可以找到分界点分成两个字符串,然后交叉相同。例如aab与aba,我们可以把第一个字符串分割成a与ab,把第二个字符串分割成ab与a,那么他...

2015-12-30 20:27:59

阅读数:375

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭