其实我连splay都还不怎么会。

今天先抄了黄学长的bzoj2049,以后一定要把它理解了。

写LCT怎么能不%数据结构大神yeweining呢?%%%chrysanthemums  %%%切掉大森林的全ZJ唯一一人

#include<cstdio>
#include<algorithm>
#define N 1000005
using namespace std;
int n,m;
],c[][],f[][],st[];];
inline bool isroot(int x)
{
    ]!=x&&c[fa[x]][]!=x;
}
void push_down(int k)
{
    ],r=c[k][];
    if(rev[k])
    {
      rev[k]^=;rev[l]^=;rev[r]^=;
      swap(c[k][],c[k][]);
    }
}
void rotate(int x)
{
   int y=fa[x],z=fa[y],l,r;
   ]==x)l=;;
   r=l^;
   )
   {
       ]==y)c[z][]=x;]=x;
   }
   fa[x]=z;fa[y]=x;fa[c[x][r]]=y;
   c[y][l]=c[x][r];c[x][r]=y;
}
void splay(int x)
{
   ;st[++top]=x;
   for(int i=x;!isroot(i);i=fa[i])
   {
     st[++top]=fa[i];
   }
   for(int i=top;i;i--)push_down(st[i]);
   while(!isroot(x))
   {
      int y=fa[x],z=fa[y];
      if(!isroot(y))
      {
         ]==x^c[z][]==y)rotate(x);
         else rotate(y);
      }
      rotate(x);
   }
}
void access(int x)
{
  ;
  while(x)
  {
     splay(x);c[x][]=t;t=x;x=fa[x];
  }
}
void rever(int x)
{
    access(x);splay(x);rev[x]^=;
}
void link(int x,int y)
{
    rever(x);fa[x]=y;splay(x);
}
void cut(int x,int y)
{
    rever(x);access(y);splay(y);c[y][]=fa[x]=;
}
int find(int x)
{
    access(x);splay(x);int y=x;
    ])y=c[y][];
    return y;
}
int main()
{
    ];
    scanf("%d%d",&n,&m);
    ;i<=m;i++)
    {
        scanf("%s",s);int x,y;
        scanf("%d%d",&x,&y);
        ]=='C')link(x,y);
        ]=='D')cut(x,y);
        else
        {
            if(find(x)==find(y))printf("Yes\n");else printf("No\n");
        }
    }
 } 

洞穴勘测

http://wenku.baidu.com/link?url=x6FCcjtWt-mcj9-do9MFL7lsXB4o2G1T0aG3p-XFYkuNyLKW0Kg-o-u_DUWnI_L_yIVJfHcrE_ThkrfoBlmWqJM-TburN1KlZO9wOvKJmA3

---------这是一篇很详尽的讲稿

在此为LCT开一个永久的坑的更多相关文章

  1. 开一个帖子,等有时间了写写如何用shapelib创建点线面等shp图层

    开一个帖子,等有时间了写写如何用shapelib创建点线面等shp图层  C#操作shapelib的实例 http://files.cnblogs.com/yuxuetaoxp/Shapelib--D ...

  2. 准备开一个地图SDK的开源项目

    最近有点空闲时间了, 准备开一个地图SDK的开源项目, 现在的地图SDK已经有很多了, 再做一个跟重新发明个轮子差不多, 但还想做的原因是想在别的轮子的基础上造个轮子... 初步设想是基于开源的地图渲 ...

  3. export的变量另开一个终端失效解决方法

    有时候,我们需要把一个export的变量全局话,否则每开一个终端又需要重新export,很是麻烦 首先直接export某个变量的话就只能在当前子终端生效,另开一个终端就失效了 如果修改.bash_pr ...

  4. java程序怎么在一个电脑上只启动一次,只开一个进程

    目录 <linux文件锁flock> <NIO文件锁FileLock> <java程序怎么在一个电脑上只启动一次,只开一个进程> 方案1: 单进程程序可以用端口绑定 ...

  5. BeginInvoke 方法真的是新开一个线程进行异步调用吗?

    转自原文BeginInvoke 方法真的是新开一个线程进行异步调用吗? BeginInvoke 方法真的是新开一个线程进行异步调用吗? 参考以下代码: public delegate void tre ...

  6. 为nologin用户开一个terminal

    昨天,我在设置zabbix-agent的时候,发现agent机器上的zabbix用户并不能读取某文件信息.我就想跳到zabbix用户,后来失败,发现在/etc/passwd中,zabbix被设置为 z ...

  7. 云服务器以及linux操作系统打开防火墙,在墙上开一个小口

    在服务器运行时,需要在某个端口上开一个小口,以供外部访问 执行命令/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 8080为端口号,需要开的 ...

  8. java的服务是每收到一个请求就新开一个线程来处理吗?tomcat呢?

    首先,服务器的实现不止有这两种方式. 先谈谈题主说的这两种服务器模型: 1.收到一个请求就处理,这个时候就不能处理新的请求,这种为阻塞 这个是单线程模型,无法并发,一个请求没处理完服务器就会阻塞,不会 ...

  9. qt之窗口换肤(一个qss的坑:当类属性发现变化时需要重置qss,使用rcc资源文件)

    1.相关文章 Qt 资源系统qt的moc,uic,rcc命令的使用 2.概要    毕业两年了,一直使用的是qt界面库来开发程序,使用过vs08.10.13等开发工具,并安装了qt的插件,最近在做客户 ...

随机推荐

  1. 10月25日下午PHP静态、抽象、接口

    多态(运行多态)概念:当父类引用指向子类实例,由于子类里面对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同状态.条件:1.必须发生在继承下2.必须重写父类方法3.父类引用调用该方法 如果 ...

  2. The RAII Programming Idiom

    https://www.hackcraft.net/raii/ https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization

  3. CSS3中的变形处理

    在css3中,可以利用transform功能来实现文字或者图像的旋转.缩放.倾斜.移动这四种类型的变形处理. 旋转 旋转功能使用rotate方法参数中加入角度值,方向为顺时针旋转.示例清单如下: &l ...

  4. 三列等高 css实现

    实现这个三列等高 布局需要最外层的一个div wrap容器 里面有三个div容器 这个最外层div 需要移除隐藏 overflow:hidden;  关键点就是三列div 同时margin-botto ...

  5. C# 中的委托和事件(转)

    引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去 ...

  6. 以空白符结尾的 alias

    网上经常有人问这个问题:为什么我写的 alias 在 sudo 下就不管用了? $ alias 'll=ls -l' $ sudo ll a-private-dir sudo: ll: command ...

  7. 创建maven工程时总是带有后缀名Maven Webapp解决办法

    做项目时突然遇到了一个新问题,从前没有的,今天不知怎么了突然有了这个问题,maven创建web项目时多出了后缀名maven webapp ,很碍眼,而且访问路径还得删了,这个后缀名才可访问,所以找了答 ...

  8. 【相当实用】如何让TortoiseSVN导出新增或修改过的文件

    当一个网站项目进入运营维护阶段以后,不会再频繁地更新全部源文件到服务器,这个时间的修改大多是局部的,因此更新文件只需更新修改过的文件,其他没有修改过的文件就没有必要上载到服务器.但一个稍微上规模的网站 ...

  9. 微信公共服务平台开发(.Net 的实现)12-------网页授权(上 :更加深入理解OAuth2.0 )

    我们首先来认识一下OAuth协议吧,这个东西很早就听说过,总觉得离我很远(我的项目用不到这些),但是最近不得不学习一下了.我在网上找了一些解释,认为解释的最好的是这样说的(出处:http://hi.b ...

  10. input placeholder兼容ie10以下

    代码如下: ,) < ) { $('input[placeholder]').each(function(){ var input = $(this); $(input).val(input.a ...