李超树学习记录
Posted wrjlinkkkkkk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了李超树学习记录相关的知识,希望对你有一定的参考价值。
还没更完
引子
本文是按照李超老师的线段树ppt学习的学习记录以及一些心得
cf145E
题意
两个操作:
1.翻转([l,r])中的0和1
2.求([l,r])的最长不下降子序列长度
思路
线段树维护00,01,10,11的长度,翻转就是交换(00,11)和(01,10)
答案就是max(00-00,00-01,00-11,01-11,11-11)
代码
Code
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
BZOJ1103
题意
一棵树,初始每条边都是1,两个操作:
1.将某个边改为0
2.问一个点到根的边权和
思路
法一
线段树维护dfs序,操作1为区间修改,操作2为单点查询
这题10s时限,加了快读跑了9s。。
代码
Code
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
法二
建欧拉序,进入的权值为1,退出的权值为-1
操作1为修改进入和退出的权值为0
操作2为查询前缀和
树状数组即可
跑了5s
代码
Code
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
Code
>=‘9‘){
>‘0‘><1
#define>=mid)return>=l&&r<=y){
>>=‘9‘){
>‘0‘><1
#define>=>=l&&r<=y){
><2],len01[maxn<<2],len11[maxn<<2],len10[maxn<<2];
int><1
#define>以上是关于李超树学习记录的主要内容,如果未能解决你的问题,请参考以下文章
李超树详解
[CodeChef - STREETTA] The Street 李超线段树
[SDOI2016]游戏 树剖+李超树
李超线段树 - JSOI2008BlueMary开公司
李超线段树
李超线段树