LCT
Neo__Z
这个作者很懒,什么都没留下…
展开
-
bzoj2049 洞穴勘探【LCT模板】
解题思路:LCT模板题,用Link,Cut,Findroot操作即可。#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<algorithm>#include<ctime>#include<vector>#include<queue>#define ll原创 2017-11-22 15:07:14 · 290 阅读 · 0 评论 -
bzoj5020 在美妙的数学王国中畅游【LCT+泰勒展开】
解题思路:题目后貌似还有一段提示: 考试的时候完全看不懂它给的泰勒展开式,只打了可以暴力走和x=1x=1的部分,就是LCT维护路径和。考试后看了题解,原来它的意思就是取x0=0x_0=0,f(x)f(x)可以化成多项式形式,每项系数就是fi(0)i!。n=11\frac{f^i(0)}{i!}。n=11精度就够了,然后Splay维护每一项系数的和,询问时每项乘以xix^i就行了。对导数不熟悉的原创 2017-12-20 19:17:31 · 440 阅读 · 0 评论 -
SPOJ Query on a tree IV【LCT】
题目大意:给定一个节点初始颜色全为白色的点,要求支持两种操作: 1.将节点x颜色翻转; 2.询问树中相距最远的两个白点的距离。 1≤n,m≤1000001\le n,m\le 100000解题思路:为了叙述方便,其他的一些定义:ls左儿子,rs有儿子首先把边权附到儿子结点上,记为len(len会引发很多细节问题,一定要小心)实边上的信息维护一个lmax,rmax,ma原创 2018-01-21 09:46:36 · 283 阅读 · 0 评论 -
bzoj4025: 二分图【LCT维护生成树】
Description神犇有一个n个节点的图。因为神犇是神犇,所以在T时间内一些边会出现后消失。神犇要求出每一时间段内这个图是否是二分图。这么简单的问题神犇当然会做了,于是他想考考你。Input输入数据的第一行是三个整数n,m,T。 第2行到第m+1行,每行4个整数u,v,start,end。第i+1行的四个整数表示第i条边连接u,v两个点,这条边在start时刻出现,在第end...原创 2018-03-07 19:41:43 · 246 阅读 · 0 评论 -
BJ模拟 String【后缀自动机+LCT+可持久化线段树】
题目描述:给你一个长度为n的字符串S,你需要维护这个字符串S并支持两种操作: 1、在字符串S末尾插入一个字符。 2、记字符串T为字符串S从第 l 个字符到第 r 个字符所构成的子串。询问字符串T中最长的子串使得该子串在T中出现过至少两次(例如:T=”ababa”,最长的子串应为aba,长度为3),并输出它的长度。如果不存在这样的子串,则输出0。 强制在线,n,m<=50000。...原创 2018-04-23 10:49:55 · 580 阅读 · 0 评论 -
bzoj3637: Query on a tree VI【LCT】
题目大意:有一棵黑白树,要求支持两种操作:1.单点颜色翻转;2.询问某点同色连通块大小。 n,m&lt;=100000解题思路:考虑用LCT维护一棵黑树,一棵白树,维护连通树size。但是还有一个问题没有解决,如果改色时暴力link-cut,显然菊花图时修改的边数可以达到O(n)级别于是就有了一个巧妙的写法,当一个点从白变黑时,只在白树里cut掉它和父亲的边,只在黑树里lin...原创 2018-05-16 09:43:00 · 333 阅读 · 0 评论 -
bzoj3639: Query on a tree VII【LCT+set】
题目大意:给一棵黑白带点权树,支持单点翻转颜色,单点修改权值,询问某点同色连通块内点权最大值。 n,m<=100000解题思路:同Qtree6,把虚边维护size改为用multiset维护最大点权即可。#include<bits/stdc++.h>#define ll long longusing namespace std;int getint(){...原创 2018-05-16 17:03:08 · 311 阅读 · 0 评论