- 博客(3)
- 收藏
- 关注
原创 Bzoj 2049 Cave 洞穴勘测
加边删边维护联通性因为保证中间过程都是一个树,所以可以LCT来做其实也可以按时间分治维护一个可撤销并查集我写的是后者具体见代码#include<bits/stdc++.h> using namespace std;const int maxn = 3123; int arr[maxn]; int fnd(int x){ return x == arr[x] ? x : arr[x] = fn
2016-12-06 17:10:25 539 1
原创 Hdu 5967 小R与手机
LCT模板题如果某一次加边会成环,我们可以保证这个点一定是某一个根,在根上记录一下后继每一次切断某条边的之后同时查询根的是否有后继,后继是否可以连接具体见代码#include<bits/stdc++.h> using namespace std;const int maxn = 212345;struct Node{ int fa,son[2]; int vedg; void
2016-12-04 11:06:22 982
原创 Bzoj 2002 弹飞绵羊
学会LCT很久了,今天才会写LCT因为我使用数组而不是指针来保存节点,干脆利用起了根节点的fa这个空间来保存虚边具体的,如果fa为正数,则为splay中的边。如果是0,没有父节点。如果是负数,取反之后表示虚边所指向的父亲。具体见代码#include<bits/stdc++.h> using namespace std;const int maxn = 212345;struct Node{
2016-12-02 16:36:19 464
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人