http://www.lydsy.com/JudgeOnline/problem.php?id=1180 今天状态怎么这么不好....................................... 又是调了好久........................................... 我竟然忘记更改值那里要先splay后再更改,而且还要pushup先!!!!! QAQ 太弱了.. 记住!!!更改信息一定要先变成了根再修改,而且还要pushup! (蒟蒻问了下神犇,总算弄懂了:…
竟然卡了我....忘记在push_down先下传父亲的信息了....还有splay里for():卡了我10min,但是双倍经验还是挺爽的,什么都不用改. 感觉做的全是模板题,太水啦,不能这么水了... 不过模板都敲不对,啥也做不好!!! #include <iostream> #include <cstdio> #define N 300030 using namespace std; int n,m; struct node { node *fa,*ch[]; int data,…
LCT.. ------------------------------------------------------------------------ #include<cstdio> #include<algorithm> #include<cstring> #include<iostream>   #define rep( i , n ) for( int i = 0 ; i < n ; ++i ) #define clr( x , c )…
1180: [CROATIAN2009]OTOCI Time Limit: 50 Sec  Memory Limit: 162 MBSubmit: 961  Solved: 594[Submit][Status][Discuss] Description 给出n个结点以及每个点初始时对应的权值wi.起始时点与点之间没有连边.有3类操作: 1.bridge A B:询问结点A与结点B是否连通.如果是则输出“no”.否则输出“yes”,并且在结点A和结点B之间连一条无向边. 2.penguins A…
1180: [CROATIAN2009]OTOCI Time Limit: 50 Sec  Memory Limit: 162 MBSubmit: 989  Solved: 611[Submit][Status][Discuss] Description 给出n个结点以及每个点初始时对应的权值wi.起始时点与点之间没有连边.有3类操作: 1.bridge A B:询问结点A与结点B是否连通.如果是则输出“no”.否则输出“yes”,并且在结点A和结点B之间连一条无向边. 2.penguins A…
http://www.lydsy.com/JudgeOnline/problem.php?id=2843 https://blog.csdn.net/clove_unique/article/details/50992341 和之前那道题lct求两点距离用lca不同,这道题因为给的边的两个端点是没有顺序的(没法直接按照给的点直接将某个点连到树上),所以bridge需要区间翻转的操作,因为splay维护的是链,所以区间翻转相当于将叶子变成了根,根变成叶子(链翻转过来),然后再把此时的根(x)连到y…
一道几乎是板子的LCT,但是沉迷数学很久时候突然1A了这道题还是挺开心的 #include<iostream> #include<cstdio> using namespace std; const int N=30005; int n,q,sum[N],v[N],s[N],top; char c[20]; struct qwe { int c[2],f,sum,lz; }t[N]; int read() { int r=0,f=1; char p=getchar(); while…
Description 给出n个结点以及每个点初始时对应的权值wi.起始时点与点之间没有连边.有3类操作: 1.bridge A B:询问结点A与结点B是否连通. 如果是则输出"no".否则输出"yes",并且在结点A和结点B之间连一条无向边. 2.penguins A X:将结点A对应的权值wA修改为X. 3.excursion A B:如果结点A和结点B不连通,则输出"impossible". 否则输出结点A到结点B的路径上的点对应的权值的和…
1180: [CROATIAN2009]OTOCI Time Limit: 50 Sec  Memory Limit: 162 MBSubmit: 1200  Solved: 747[Submit][Status][Discuss] Description 给出n个结点以及每个点初始时对应的权值wi.起始时点与点之间没有连边.有3类操作: 1.bridge A B:询问结点A与结点B是否连通.如果是则输出“no”.否则输出“yes”,并且在结点A和结点B之间连一条无向边. 2.penguins…
双倍经验双倍的幸福... 所以另一道是300大洋的世界T_T...虽然题目是一样的,不过2843数据范围小了一点... 都是lct基本操作 #include<cstdio> #include<iostream> #include<math.h> using namespace std; ; struct zs{ ],fa,sum,val; bool rev; }tree[maxn]; int i,j,x,y,n,m; int stack[maxn]; ]; inline…