好的LCT板子和一句话
typedef long long ll;
const int maxn = 400050;
struct lct {
    int ch[maxn][2], fa[maxn], w[maxn];
    bool col[maxn], rev[maxn];
    ll lans[maxn], rans[maxn], ans[maxn], tt[maxn], tt2[maxn], w2[maxn];
    inline void Rev(const int& x) {
        if(x) {
            rev[x] ^= 1;
            swap(ch[x][0], ch[x][1]);
            swap(lans[x], rans[x]);
        }
    }
    inline bool isroot(int x) {
        return ch[fa[x]][0] != x && ch[fa[x]][1] != x;
    }
    inline void pushdown(const int& x) {
        if(!x) return;
        if(!isroot(x)) pushdown(fa[x]);
        if(rev[x]) {
            Rev(ch[x][0]); Rev(ch[x][1]);
            rev[x] = 0;
        }
    }
    inline void maintain(const int& x) {
        if(!x) return;
        w2[x] = w2[ch[x][0]] + w2[ch[x][1]] + w[x];
        tt[x] = ;
        lans[x] = ;
        rans[x] = ;
    }
    inline void rotate(int x) {
        int f = fa[x], ff = fa[f], d = x == ch[f][1];
        if(!isroot(f)) ch[ff][f==ch[ff][1]] = x;
        fa[x] = ff;
        ch[f][d] = ch[x][d^1];
        if(ch[x][d^1]) fa[ch[x][d^1]] = ch[f][d];
        ch[x][d] = f; fa[f] = x;
        maintain(f);
    }
    inline void splay(int x) {
        pushdown(x);
        for(int f = fa[x], ff = fa[f]; !isroot(x); rotate(x), f = fa[x], ff = fa[f])
            if(!isroot(y)) rotate((x==ch[f][1])==(f==ch[ff][1])?f:x);
        maintain(x);
    }
    inline void access(int x) {
        int son = 0;
        while(x) {
            splay(x);
            ch[x][1] = son;
            maintain(x);
            son = x; x = fa[x];
        }
    }
    inline void mroot(int x) {
        access(x); splay(x);
        Rev(x);
    }
    inline void linkto(int u, int v) {
        mroot(x); mroot(v);
        fa[u] = v;
        maintain(v);
    }
    inline void cutfrom(int u, int v) {
        mroot(v); access(u); splay(u);
        int root = ch[v][0];
        ch[root][0] = fa[root] = ch[v][0] = fa[root] = 0;
        maintain(v);
    }
    “自信可改变未来。”
是谁在夏令营说的说的来着?
进队=做大家都会的题+暴力全部打满
boj kt 基本没有这样的情况:因为时间不够没有想出做法。
好的LCT板子和一句话的更多相关文章
- BZOJ 2049 SDOI2008 洞穴勘测 LCT板子
		题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2049 题意概述:给出N个点,一开始不连通,M次操作,删边加边,保证图是一个森林,询问两点连 ... 
- 沉迷Link-Cut tree无法自拔之:[BZOJ2049]洞穴勘探(蒟蒻的LCT板子)
		来自蒟蒻 \(Hero \_of \_Someone\) 的 \(LCT\) 学习笔记 最近学了一波 \(LCT\) , 于是怒刷 \(LCT\) 合集...... $ $ 学的时候借鉴了 Clove ... 
- LCT板子
		粘板子: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; c ... 
- 一堆LCT板子
		搞了一上午LCT,真是累死了-- 以前总觉得LCT高大上不好学不好打,今天打了几遍感觉还可以嘛= =反正现在的水平应付不太难的LCT题也够用了,就这样好了,接下来专心搞网络流. 话说以前一直YY不出来 ... 
- BZOJ 2002 LCT板子题
		思路: LCT啊... (分块也行) 不过YOUSIKI出了一道“弹飞大爷” 就不能用分块水过去了 //By SiriusRen #include <cstdio> #include &l ... 
- 洛谷P3203 [HNOI2010]弹飞绵羊(LCT,Splay)
		洛谷题目传送门 关于LCT的问题详见我的LCT总结 思路分析 首先分析一下题意.对于每个弹力装置,有且仅有一个位置可以弹到.把这样的一种关系可以视作边. 然后,每个装置一定会往后弹,这不就代表不存在环 ... 
- bzoj  2049: [Sdoi2008]Cave 洞穴勘测 (LCT)
		链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2049 题面: 2049: [Sdoi2008]Cave 洞穴勘测 Time Limit: 1 ... 
- ☆ [NOI2014] 魔法森林 「LCT动态维护最小生成树」
		题目类型:\(LCT\)动态维护最小生成树 传送门:>Here< 题意:带权无向图,每条边有权值\(a[i],b[i]\).要求一条从\(1\)到\(N\)的路径,使得这条路径上的\(Ma ... 
- LCT模板(指针版)
		本来是想做THUWC2017的泰勒展开xLCT题的-- 然后觉得数组写很麻烦-- 然后就决定挑战指针版-- 然后写得全是BUG-- 与BUG鏖战三千年后,有了这个指针版LCT板子! #include ... 
随机推荐
- JDK动态代理深入理解分析并手写简易JDK动态代理(下)
			原文同步发表至个人博客[夜月归途] 原文链接:http://www.guitu18.com/se/java/2019-01-05/27.html 作者:夜月归途 出处:http://www.guitu ... 
- C#如何发送邮件
			准备工作: 1.开启Smtp服务 2.如果邮件设置中有“客户端授权码"(以163邮箱为例,有的邮箱不需要),需要开启“客户端授权码" 发送邮件: using (MailMessag ... 
- [Go] golang互斥锁mutex
			1.互斥锁用于在代码上创建一个临界区,保证同一时间只有一个goroutine可以执行这个临界区代码2.Lock()和Unlock()定义临界区 package main import ( " ... 
- 环境搭建 - Java(Windows)
			Java开发环境搭建 本文以window7下搭建JDK8示例,其他版本无特殊说明同理. 下载JDK安装包 网址:JDK8 非C盘下根目录新建文件夹:Java D:\Java 安装JDK至Jav ... 
- Easyui 修改jquery validatebox为英文校验提示为中文提示
			修改jquery validatebox为英文校验提示为中文提示 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 问题描述: 如图,想把校验提示由英文改成中文 ... 
- Python_实现json数据的jsonPath(精简版)定位及增删改操作
			基于python实现json数据的jsonPath(精简版)定位及增删改操作 by:授客 QQ:1033553122 实践环境 win7 64 Python 3.4.0 代码 #-*- encod ... 
- idea部署Maven入门(一)——环境变量的配置和下载
			介绍: 1 Maven是用来管理jar包的一种工具, 2 Maven主要是构建java项目和java web项目 3 maven项目管理所依赖的jar ... 
- asp.net core根据用户权限控制页面元素的显示
			asp.net core根据用户权限控制页面元素的显示 Intro 在 web 应用中我们经常需要根据用户的不同允许用户访问不同的资源,显示不同的内容,之前做了一个 AccessControlHelp ... 
- ASP.NET Zero--Migration控制台应用程序
			Migration控制台应用程序 AspNet Zero包含一个工具Migrator.exe,用于轻松迁移数据库.您可以运行此应用程序来创建/迁移host和租户数据库. 该应用程序从它自己的appse ... 
- The account that is running SQL Server Setup does not have one or all of the following rights: the right to back up files and directories, the right to manage auditing and the security log and the rig
			安装SQL SERVER 是规则检查提示权限问题 运行secpol.msc,没有Debug program权限,添加即可,如果已加域则要在域策略修改,或退域安装后在加域. 
