摘要:
树的直径 树的直径求法: 1. 任取一点u,找到树上距u最远的点s 2. 找到树上距s点最远的点t,s t的距离即为所求 cpp include include include include include include include using namespace std; int init 阅读全文
摘要:
树上差分 对于一条路径 $u v$ 来说,设 $t=LCA(u,v)$ ,d[]为差分数组 ,则有 d[u]++;d[v]++;d[t] ;d[fa[t]] ; 注意:题目中所给的路径上的点都多计算了一次,统计答案时要减去 cpp include include include include us 阅读全文
摘要:
树剖求LCA 我们可以发现,两条路径ab,cd相交,当且仅当 dep[lca(a,b)] =dep[lca(c,d)]&(lca(lca(a,b),c)==lca(a,b)||lca(lca(a,b),d)==lca(a,b))或把abcd交换一下即可 cpp include include inc 阅读全文
摘要:
树剖 将一个软件是否安装,看作是sum数组的0或1,对于每个操作前后sum[1]的变化,就是所求 cpp include include include include define lson l,mid,rt'9'){ if(c==' ') fh= 1; c=getchar(); } while( 阅读全文
摘要:
树剖+线段树维护连续相同区间个数 注意什么时候长度要减一 cpp include include include include include define lson l,mid,rt'9'){ if(c==' ') fh= 1; c=getchar(); } while(c ='0'&&cma) 阅读全文
摘要:
迷之TLE cpp include include include include include define lson l,mid,rt'9'){ if(c==' ') fh= 1; c=getchar(); } while(c ='0'&&cma){ ma=siz[v]; son[u]=v; 阅读全文
摘要:
支持各种数据结构上树,注意取膜. cpp include include include include include include define lson l,mid,rt'9'){ if(c==' ') fh= 1; c=getchar(); } while(c ='0'&&cma){ ma 阅读全文
摘要:
简单最大流建图 cpp include include include include include include using namespace std; const int MAXN=600,MAXM=2000005; int head[MAXN],cur[MAXN],n,m,s,t,num 阅读全文
摘要:
二分图最大点权独立集 通过题目描述我们可以很明显的看出要通过二分图建模,二分图求最大独立点集很容易,就是建立二分图求n 最小割,然而这里加入了权值,而且权值是在点上的,那么我们对于每个点连一条到源点或汇点的容量等于权值的边,求最小割即可,见胡伯涛论文 cpp include include incl 阅读全文
摘要:
二分图求最大独立点集 本问题在二分图中已处理过,此处用dinic写了一遍 cpp include include include include include include using namespace std; const int MAXN=40005,MAXM=5000005; int s 阅读全文
摘要:
二分图应用模版 cpp include include include include include include using namespace std; const int MAXN=400,MAXM=50005; int head[MAXN],nume,n,m,maxflow,s,t,cu 阅读全文
摘要:
非常舒适的最大流 非常显然的建图方法,然而因为数组开小卡了很长时间 cpp include include include include include include using namespace std; const int MAXN=2500,MAXM=100005; int head[M 阅读全文
摘要:
贪心做法 每次尽可能选择已经放过球的柱子 cpp include include include include include using namespace std; int num[100][1000],n; bool chk(const int &a,const int &b){ int t 阅读全文
摘要:
并不是网络流 状压+SPFA 通过题目中的描述及数据范围可知,我们状压当前的漏洞,以每个二进制位表示是否有这个漏洞,并以状压的结果为顶点,以补丁的时间为边跑SPFA即可 cpp include include include include include using namespace std; 阅读全文
摘要:
网络流实现二分图匹配 对于x集合的每一个点连一条从源点出发的容量为一的边,对于y集合的每一个点连一条到汇点的容量为一的边,跑最大流 cpp include include include include include include include using namespace std; con 阅读全文