线段树
Sqwlly
有自己热爱的东西,真好。
展开
-
牛客多校第四场 J-Hash Function ((线段树|并查集)+拓扑排序)
Hash Function题意:给出一个hashhashhash表,求字典序最小的合法插入序列,如果不合法输出−1−1-1,如果为空表输出空行。我们已知已经插入完成的hashhashhash表,那么我们能得出的信息有什么呢?我们知道一个数的值vvv和它所在的位置jjj,还知道它的插入方式。所以,如果一个数xxx不在x%nx%nx\%n的话,那么说明从x%n→j−1x%n→j−1x\%n\t...原创 2018-08-14 22:19:28 · 322 阅读 · 1 评论 -
ACM-ICPC 2018 徐州赛区网络预赛 H Ryuji doesn't want to study(线段树 两种做法)
Ryuji doesn’t want to study问题分析我们可以做一个前缀和sum{a[i]}sum{a[i]}sum\{a[i]\}和一个前缀和sum{(n−i)∗a[i]}sum{(n−i)∗a[i]}sum\{(n-i)*a[i]\}(看起来就像一个三角形,我们这里称之为tangle[i]tangle[i]tangle[i]),如图所示。 假设我们要求区间[2,5]=...原创 2018-09-09 23:19:41 · 201 阅读 · 0 评论 -
ZOJ - 1610 Count the Colors(线段树区间更新)
Count the Colors题意:每次对区间染色,注意不染端点,然后问最后每种颜色有多少段。题解:用线段树维护每个区间的颜色信息,然后因为不染端点,因此如果染0→40\rightarrow40→4,只会染444个区间那么我们将左端点加一即可。其它就是经典线段树lazylazylazy标记下放了。代码#include<bits/stdc++.h>#define DEBUG...原创 2019-02-27 16:42:08 · 202 阅读 · 0 评论 -
HDU 1540 Tunnel Warfare(线段树区间合并)
Tunnel Warfare题意:有nnn个村庄,如果对于村庄iii和jjj都存在,那么我们就称其关系为连续,然后会有三个操作:D&ThickSpace;&ThickSpace;XD\;\;XDX摧毁第XXX个村庄。Q&ThickSpace;&ThickSpace;XQ\;\;XQX询问包含村庄XXX的最大连续村庄的长度。R&ThickSpace;...原创 2019-03-09 17:20:42 · 210 阅读 · 0 评论 -
GYM101879 2018 USP Try-outs G - Running a penitentiary(线段树)
G. Running a penitentiary题意:每个人都有相应的管理区间[l,r][l,r][l,r],两个操作:询问第a,a+1,a+2...,ba,a+1,a+2...,ba,a+1,a+2...,b个人的管理区间交集。将第iii个人的管理区间变为[x,y][x,y][x,y]题解:多个区间的交集为[max(l),min(r)][max(l),min(r)][max(l),...原创 2019-09-04 23:24:47 · 286 阅读 · 0 评论