摘要: 新姿势,一般来讲LCT只能维护splay重边里的数据,而这里要求维护整颗子树的size 多维护一个sq表示当前点轻儿子的size和,si表示包括轻重边的整颗子树的大小 然后需要改sq的地方是link和access,link是因为给y下面挂了个连着虚边的x点,所以给y的sq加上x的size;acc是改 阅读全文
posted @ 2019-04-17 20:44 lokiii 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 脑洞题大概 首先处理出每个位置需要操作的次数c,假设第一次达到目标就不能再走,这样的操作次数是c差分后值的正数和,就想成分治每一段然后同减最小值然后从0处断开 然后考虑能一圈一圈走的情况,连续一段多走一圈在差分数组上的贡献是一个位置+4一个位置 4, 然后对于差分c后值为( 3,3)的一对位置,+4 阅读全文
posted @ 2019-04-17 16:06 lokiii 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 看着就像反演,所以先推式子(默认n include using namespace std; const int N=5000005,mod=1e9+7; int T,k,n,m,p[N],tot,s[N],f[N],sm[N],ans; bool v[N]; int read() { int r= 阅读全文
posted @ 2019-04-17 11:52 lokiii 阅读(123) 评论(0) 推荐(0) 编辑