04 2016 档案
摘要:省赛后一天就是期中考真刺激,可以体验连续滚粗的快感。 听说今天是鸟神的生日,于是凌晨造了个大新闻,强行给鸟神灌了一大口毒奶。 热身赛写模拟写到结束也没调出来,给下午滚粗奠定了坚实的基础。 正赛,打开题目,习惯性地先从最后一题开始看,于是我发现L题就是个签到题,花1分钟敲完,打算抢FB。 正打算交的时
阅读全文
摘要:设f(x)=∑x|dp(d)。 则ans=∑ni=1∑nj=1∑nk=1μ(i)μ(j)μ(k)f(lcm(i,j))f(lcm(i,k))f(lcm(j,k))。 转化成图论模型,i到j有边的条件是$\mu(i)\n
阅读全文
摘要:用主席树维护DFS序来支持询问某个点的子树中第k小的编号。 然后建出模板树和缩块之后的树。 如果两个点在同一个树块内,那么答案就是它们在模板树上的距离。 否则先在缩块后的树上求出块顶之间的距离,然后加上内部距离。 时间复杂度O(nlogn)。
阅读全文
摘要:将边按a从小到大排序,每√m个取一个关键点。 对于每个关键点,将这个点之前的边以及要在这个关键点回答的询问按b排序。 依次加入这个关键点之前的每条边,用并查集维护每个连通块a和b的最大值。 对于零碎部分,只有√m条边,暴力加入即可。 用一个栈按时间记录
阅读全文
摘要:求出这棵树的dfs序,对于一条链u−v,假设st[u]≤st[v],那么一条链不经过点x当且仅当它满足下面任意一个条件: 1.st[v]<st[x] 2.st[u]>en[x] 3.st[x]<st[lca(u,v)]≤en[x] 4.$st[u]<st[x]
阅读全文
摘要:先把所有数减去最小值,防止负数出现问题。 d=0,直接O(n)扫过去即可。 d≠0,首先通过双指针求出每个数作为右端点时往左可以延伸到哪里,中间任意两个数差值都是d的倍数且不重复。 然后从左往右枚举右端点i,那么左端点j需要满足: $\lfloor\frac{\max
阅读全文
摘要:从左往右枚举右端点,用一棵线段树维护每个左端点的去重后的区间和。 那么对于a[r],需要在[pre[a[r]]+1,r]里区间加上a[r]。 将线段树可持久化,并维护区间最大值,就可以在线询问形如“给定r以及a,b”,问l在[a,b]里[l,r]的区间和的最大值的问题
阅读全文
摘要:xi=xi−1+xi−2x2i=x2i−2+x2i−1+2xi−2xi−1xi−1xi=x2i−1+xi−2xi−1 故可以构造转移矩
阅读全文
摘要:首先判断一下是否无解,并剔除孤立点。 根据best theorem,有向图中以i为起点的欧拉回路个数为: 以i为根的树形图个数×∏ni=1(deg(i)−1)!。 根据matrix tree theorem,以i为根的树形图个数=基尔霍夫矩阵去掉第$i
阅读全文