树链剖分
mengbi_er
一个蒟蒻JLoier
展开
-
bzoj4034: [HAOI2015]树上操作
链剖模板题,然而本辣鸡选手没写1LL调了好长时间。#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; struct node { int from; int to; int next; }edge[200005]; struct segtr原创 2017-07-12 19:06:07 · 182 阅读 · 0 评论 -
bzoj3626: [LNOI2014]LCA
将询问离线,从1到n分别到根进行区间修改,答案为query(r+1)-query(l).#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<vector> using namespace std; vector<int> q[50005]; inline int read() {原创 2017-07-12 19:15:09 · 194 阅读 · 0 评论 -
Codeforces Round #425 (Div. 2)D. Misha, Grisha and Underground
题目大意给出一棵树,每次询问三个点,选一个点为终点,问重叠路径长度最大值。题解我强行链剖加线段树,(两个log有7*线段树巨大常数)1980ms跑过,什么?你过不了,我不知道,因为我再交也过不了,可能是noi考挂后rp++的原因。#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<vec原创 2017-07-25 01:32:46 · 371 阅读 · 0 评论 -
bzoj4390: [Usaco2015 dec]Max Flow
虽然知道差分能做,还是练了一波链剖模板。(其实是noip要到了QAQ)#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int read() { char ch=getchar();int f=0; while(ch<'0'||ch>'9') c原创 2017-10-17 22:20:25 · 278 阅读 · 1 评论 -
bzoj2819: Nim
链剖维护路径异或值。#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int read() { char ch=getchar();int f=0; while(ch<'0'||ch>'9')ch=getchar(); while(ch>原创 2017-09-09 21:23:57 · 251 阅读 · 0 评论 -
bzoj3531: [Sdoi2014]旅行
用类似主席树的方法动态开点链剖+线段树,分宗教维护线段树。#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int read() { char ch=getchar();int f=0; while(ch<'0'||ch>'9')ch=getch原创 2017-09-20 22:05:04 · 207 阅读 · 0 评论