上一页 1 ··· 34 35 36 37 38
摘要: 以边编号为权值用Link-cut Tree维护最大生成树对于新加的第i条边(u,v)a[i]表示当a[i]这条边加入后连通块个数会减少若u==v则a[i]=m若u与v不连通则连上,a[i]=0若u与v连通则a[i]为u,v路径上最小值,将那条边断开,连上这条边查询[l,r]等价于查询[l,r]里有多... 阅读全文
posted @ 2014-05-09 20:08 Claris 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 选个根把无根树转化成有根树,设f[i]表示i不通电的概率则答案为对于枚举树根root进行DP后1-f[root]的和直接算是O(n^2)的,但是n有500000,所以不能过。对于这样一棵以1为根的树,求出它的欧拉遍历序为1->2->5->2->6->2->1->3->7->3->8->3->1->4... 阅读全文
posted @ 2014-05-09 15:34 Claris 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 先把所有点绕原点逆时针旋转(360-a)度,再把所有点横坐标除以放大倍数p,最后用随机增量法求最小圆覆盖即可。时间复杂度期望$O(n)$#include#include#includeusing namespace std;struct P{double x,y;}a[50005],o;inline... 阅读全文
posted @ 2014-05-08 20:38 Claris 阅读(294) 评论(0) 推荐(0) 编辑
摘要: A类数据:$n,q\leq1000$修改:$O(1)$直接改查询:$O(n)$BFSB类数据:$n,q\leq100000$,保证是一条链用线段树维护区间最大前缀、后缀和修改:$O(\log n)$查询:答案为max([1,x]的最大后缀和,[x,n]的最大前缀和),$O(\log n)$C类数据:... 阅读全文
posted @ 2014-05-08 17:45 Claris 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 设val[i]为i连出去的树突中输出值为0的个数如果val[x]#define N 500010int f[N*3],son[N][2],size[N],val[N],cnt1[N],cnt2[N],tag[N],a[N];inline void read(int&a){char c;while(!... 阅读全文
posted @ 2014-05-08 17:37 Claris 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 这回是真·强制在线了,首先这道题就是AHOI2013连通图的加强版,那道题k最大只有4那道题的做法是:取一个生成树,对每条非树边取一个随机权值,对每条树边设为“覆盖它的所有非树边”的权值的xor,对于每次询问,只要某个子集的所有边xor值是0,那么就不连通,否则连通。通过$O(2^k)$枚举每一个子... 阅读全文
posted @ 2014-05-08 13:25 Claris 阅读(1356) 评论(0) 推荐(0) 编辑
摘要: 可以发现,从头到尾有一堆点是始终连在一起的,所以把没被删掉的一开始就有的边都加上后求出每个联通块,缩完点后我们发现,边数也减少得差不多了,剩下的就直接暴力。#include#define N 5010#define M 200010#define Q 10010inline void read(in... 阅读全文
posted @ 2014-05-08 12:07 Claris 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 考试的时候看少了一行,导致暴力都写错额…贾教说他出的这题水,但是我觉得并不水,那个结论还是很神的。首先M(i)就是i的最小生成树的最大边,设f[i]表示i属于哪个集合我们把边按权值从小到大排序,对于一条边(u,v),权值为w,如果w#include#define N 100010using name... 阅读全文
posted @ 2014-05-08 08:25 Claris 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 首先强制在线的话,肯定是不能再离线排序+平衡树启发式合并了。这回要用的是线段树合并,每次把两棵线段树合并,总复杂度为$O(n\log n)$预处理:把边按权值从小到大排序,依次加边,对于边(x,y),权值为z,如果x和y已经在一个联通块里就无视掉假设x块大小小于等于y块大小将x,y两块的线段树合并,... 阅读全文
posted @ 2014-05-06 17:57 Claris 阅读(894) 评论(0) 推荐(2) 编辑
摘要: 询问是要求$\sum_{i=1}^n((x[i]-a)^2+(y[i]-b)^2)(x[i]=a||y[i]=b)$即求$\sum_{i=1}^n(x[i]-a)^2(y[i]=b)+\sum_{i=1}^n(y[i]-b)^2(x[i]=a)$拆开得$\sum_{i=1}^n(x[i]^2-2ax... 阅读全文
posted @ 2014-04-18 13:03 Claris 阅读(1406) 评论(0) 推荐(0) 编辑
上一页 1 ··· 34 35 36 37 38