爱线段树的好孩子
Leo的线段树好菜啊
LauZiyang
exploring
展开
-
和Leo一起做爱线段树的好孩子 数据
Mr_H出了一道信息学竞赛题,就是给n个数排序。输入格式是这样的:试题有若干组数据。每组数据的第一个是一个整数n,表示总共有n个数待排序;接下来n个整数,分别表示这n个待排序的数。 例如:3 4 2 –1 4 1 2 3 4,就表示有两组数据。第一组有3个数 (4,2,-1),第二组有4个数(1,2,3,4)。可是现在 Mr_H做的输入数据出了一些问题。例如:2 1 9 3 2 按理说第一组数...原创 2018-09-11 21:29:26 · 5062 阅读 · 0 评论 -
和Leo一起做爱线段树的好孩子COCI2017-2018被单
一天,Little Donald想要洗干净他的n张被单。洗完所有被单之后,他把它们放在后院的平地上晒干。Donald很好的摆放了这些被单,使得这些被单两两之间不会在端点或边上接触,并且两两之间的边不会相交,但是可能一张更小的被单会放在一张更大的被单上面,或者一张被单会完全覆盖另外一张被单。做完这些事之后,Donald就去睡觉了。然而,Donald的朋友,Kim,知道了Donald正在晒被单并且决定...原创 2018-09-12 21:29:03 · 3355 阅读 · 0 评论 -
线段树【模拟试题】假期旅行
额 set+线段树+st倍增我好菜啊这个是三元组,很明显set维护但是要找到从l开始最远更新值线段树维护区间最大值然后建立ST表倍增快速找到答案#include<bits/stdc++.h>#include<set>using namespace std;#define lc (p<<1)#define rc (p&...原创 2018-09-19 23:01:53 · 846 阅读 · 0 评论 -
和Leo一起做爱字符串/线段树的好孩子CF700E Cool Slogans
这道题愈发加深了我对right集合的理解也就是endpos集合endpos集合是指一些可以以这个点结尾的合法集合而维护使用经典的主席树按照Parent树从上向下进行树形DP使用主席树按top序合并pos集合由于树上路径一定是当前的一个后缀所以必然出现了至少一次这个时候查询posA-lenA+lenB,posB-1是否存在一个节点#include<iost...原创 2018-09-07 22:34:56 · 1392 阅读 · 0 评论 -
和Leo一起做爱线段树的好孩子之 HDU 4630 No Pain No Game
神仙线段树系列陈老师的确出的题个个牛皮首先我们知道如果一个因数在一段区间出现了两次那么这个因数是一个合法的GCD注意n不是1e5说明可以暴力查找每个因数然后维护一个当前因数的上一次出现位置如果出现了那对上一次出现位置来说是合法的当然这只是左端点于是对右端点排序离线处理#include<iostream>#include<cstdio&g...原创 2018-09-09 21:15:06 · 790 阅读 · 0 评论 -
和Leo一起做爱字符串/线段树的好孩子「TJOI / HEOI2016」字符串
终于做完佳媛姐姐系列后缀数组+RMQ+主席树本题求的是两段子串中的LCS当然LCS是可以用LCP求的首先建立SA得到a,b,c,d求出rk-c二分LCS设查询mid由于求两个串的LCP是求rk1-rk2的min建立ST表利用RMQ查出rkc所能覆盖的区间L,R这个时候很明显出现在L-R就是合法的那么易得区间版本查询建立主席树查询节点即可#i...原创 2018-09-06 21:56:17 · 2213 阅读 · 0 评论 -
和Leo一起做爱线段树的好孩子 IOI1998Picture
看来扫描线还是不过关扫描矩形并的面积还会轮廓线就不会了仔细思考一下首先还是拆矩形线段树维护区间有几段线段从下向上扫描把竖的答案扫描了横的答案是这个区间有多少个值由于是全局查询不需要标记下发#include<iostream>#include<cstdio>#include<cstring>#include<c...原创 2018-09-06 22:03:25 · 1737 阅读 · 0 评论 -
和Leo一起做爱线段树的好孩子CTT2012楼房重建
求一个伪LIS维护斜率求一个伪的LIS就是从右到左上升的长度#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<iomanip>using namespace...原创 2018-08-25 21:57:20 · 168 阅读 · 0 评论 -
和Leo一起做爱线段树的好孩子「FJ2014集训」圆桌会议
线段树维护霍尔定理有霍尔定理知l-r+1>=包含在区间内元素个数所以想到线段树把r-1移过去这个时候线段树就在维护键值了更新找区间最大值就好了#include<bits/stdc++.h>using namespace std;inline void read(int &x){ x=0; char ch=getchar...原创 2018-08-24 21:40:42 · 1099 阅读 · 0 评论 -
和Leo一起做热爱线段树的好孩子HDU1542 Atlantis
扫描线模板题看来扫描线水平依旧不过硬本质:求矩形的并利用扫描线一段一段的扫实现方式是线段树注意发现区间是实数问题离散化#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>usin...原创 2018-08-22 14:04:36 · 163 阅读 · 0 评论 -
和Leo一起做爱线段树的好孩子HDU5238 Calculator
额神仙题感觉就是一个暴力啊线段树维护的是一个类似于键值线段树的东西?每个叶子节点才表示一个操作而在PushUp的时候合并答案这个咋合并?暴力合并。我们记录下当前模意义下所有的答案然后暴力合并于是查答案是O1的然后明显开不下空间但是考虑到模数的特殊性于是拆成小质数CRT一下就好了很完美的把暴力+线段树合并的真实意义+数学结合起来的一道题#...原创 2018-08-23 14:34:32 · 462 阅读 · 0 评论 -
和Leo一起做热爱线段树的好孩子[Noi2016]区间
第一这是个签到题(当年的题也就这个还算简单了)使用尺取法我想了一下,最大联通子段和就是类似的方法。我们一直试探下一位,然后当sum<0就从新开始试探然后我们使用线段树区间覆盖,和区间max就可以查询当前最大值是否有m那么大了#include<bits/stdc++.h>using namespace std;inline void read(int ...原创 2018-08-21 13:53:49 · 155 阅读 · 0 评论 -
和Leo一起做热爱线段树的好孩子「LibreOJ β Round #2」计算几何瞎暴力
YMH在一个月之前写了这个题当时我不知所云现在看来数据结构水平还是在提升的。QwQ最先想的线段树二进制拆分但是似乎不行,因为排序不行这个时候可持久化字典树横空出世:他里面的数本身有序有可以支持异或(交换左右儿子就好了)然后对于还没有排序的维护二进制前缀和,暴力算是log的然后就完了#include<bits/stdc++.h>using ...原创 2018-08-20 21:43:47 · 228 阅读 · 0 评论 -
和Leo一起做热爱线段树的好孩子HDU3308LCIS
维护区间左右端点长度从左开始最长长度从右开始最长长度和本段最长长度#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>using namespace std;inline void rea...原创 2018-08-20 21:30:11 · 145 阅读 · 0 评论 -
和Leo一起做热爱线段树的好孩子usaco2008feb-gold
这个本质是求线段树最长的全0区间实际就是区间set查询的时候二分查找#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>using namespace std;inline void read...原创 2018-08-20 21:34:10 · 161 阅读 · 0 评论 -
和Leo一起做热爱线段树的好孩子FZU2105
经典题由于异或等操作是不满足结合律的所以按二进制位拆分建四棵线段树就转化为区间取反和区间set#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;i...原创 2018-08-20 21:38:06 · 157 阅读 · 0 评论 -
省选专练之数据结构HDU5828
Rikka with Sequence Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Problem DescriptionAs we know, Rikka is poor at math. Yuta is worrying about this situati...原创 2018-07-23 17:45:11 · 271 阅读 · 0 评论 -
省选专练之数据结构小白逛公园
你若会这个题SCOI2018就有20分暴力。。。维护整个区间和,左区间最大和,右区间最大和就完了。#include<iostream>#include<cstdio>#define lc (p<<1)#define rc (p<<1|1)using namespace std;const int N=5e5+1000;inl...原创 2018-07-23 13:40:29 · 194 阅读 · 0 评论 -
省选专练[SDOI2014]旅行
被主席树的标签坑的死去活来2333总是觉得一颗主席树少了一个标记你需要维护区间+宗教+权值所以你需要很多棵线段树动态开点就好了#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>usin...原创 2018-07-26 15:41:54 · 188 阅读 · 0 评论 -
省选专练之数学+数据结构 2015年国家集训队测试 奇数国
翻译: 求区间乘积的phi函数值,其中区间中的数的质因数只有60种。带单点修改操作。明显质因数比较少,勉强可以压一压开一个int64就压住了。已知 所以易以60的常数求出答案#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include&...原创 2018-08-01 20:57:51 · 248 阅读 · 0 评论