摘要:
"题目链接" 日常zz被define里没取模坑 cpp //标记下放同线段树 注意51061^2 2147483647,要开unsigned int // sz[]别忘了。。 include include include define gc() getchar() define mod (5106 阅读全文
摘要:
题目链接 洛谷 SPOJ BZOJ1095(简化版) \(Description\) 给定一棵边带权的树,初始时所有点为白色。两种操作:1. 反转某点的颜色; 2. 询问树中最远的两个白色节点的距离(只有一个则为0)。 \(n\leq 10^5,\ m\leq 2\times10^5\)。 \(So 阅读全文
摘要:
"题目链接" 从一个点只能往后跳,即后继状态只有一个,那么拿nxt[x]做fa[x]啊!这样就成了一棵树,从每个点开始的答案是它到所在树的根节点的距离。 nxt[]的更改即动态修改树边,用LCT即可。 这样查询需要的就是 Access(x),Splay(x);return sz[x];(sz[lso 阅读全文
摘要:
"题目链接 BZOJ" "洛谷" cpp //25884kb 11000ms //用1e6的数组记录当前路径长度的最少边数 include include include define gc() getchar() const int N=2e5+5,M=N=K) return; dis[++dis 阅读全文
摘要:
"题目链接" "LCT(良心总结)" cpp include include include define gc() getchar() const int N=3e5+5; inline int read() { int now=0;register char c=gc(); for(;!isdi 阅读全文
摘要:
题目链接 洛谷 \(Description\) 二维平面中初始有$n$个点,$m$次操作:1. 在某个位置新建一个点;2. 询问当前所有点中离某位置最近的点有多远。 \(n,m\leq 3\times 10^5\)。 \(Solution\) 考虑对于两个点a,b,距离为|x[a]-x[b]|+|y 阅读全文