线段树
a10.
这个作者很懒,什么都没留下…
展开
-
codeforces 742 div2 E
题目当时没想到区间合并怎么弄,这个题好好学了一次。#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>#include<string>#include<sstream>#include<queue>#include<list>#include<bitset>#include<stack&原创 2021-09-24 14:26:25 · 88 阅读 · 0 评论 -
牛客练习赛73 C D
题目C首先,这类题肯定就是算贡献的了,那我们应该怎么算呢?首先,mex的值必定为1~n+1里面的数,毕竟它只有n个数。对于每一个可能的mex值,我们可以这么考虑,设这个值为x,那么[1,x−1][1,x-1][1,x−1]的值必须全部选上,x不能选,大于x的数随便选,然后统计答案就可以了。#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>#include&l原创 2020-12-09 17:11:37 · 166 阅读 · 0 评论 -
luogu 3369
#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<vector>#include<cmath>#include<map> #include<string>#include<queue>#include<stack> #include<bitset>#原创 2020-09-03 15:03:37 · 108 阅读 · 0 评论 -
codeforces 786B
题目#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<vector>#include<cmath>#include<map> #include<string>#include<queue>#include<stack> #include<bitset>原创 2020-08-30 21:26:09 · 167 阅读 · 0 评论 -
hdu 4614 线段树+二分
题目这题我们的线段树储存的是区间内空的树有几个,这样就很好做了。如果区间内没有空的那肯定输出那个字符串,然后二分去找k=1的l和r,k=2就用区间长度减去区间询问就好了,其实也不难。#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<vector>#include<cmath>#include<map>原创 2020-08-15 16:23:22 · 753 阅读 · 0 评论 -
hdu 1540
题目以前一直以为线段树区间合并是什么新奇的玩意,原来以前做过的区间最大子序列和就是区间合并的一种,都是毒瘤题……#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<vector>#include<cmath>#include<map> #include<string>#include<原创 2020-08-14 16:06:46 · 117 阅读 · 0 评论 -
hdu 4027 线段树区间开方
题目其实也没有想象中那么难,只要区间里面的数都为1,就不再需要开方了,然后对于>1的数,直接对每一个点暴力开方,然后就可以了。#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<vector>#include<cmath>#include<map> #include<string>#原创 2020-08-14 13:56:45 · 126 阅读 · 0 评论 -
poj 2528
题目这道题就是以前还不会的区间覆盖然后查询的问题(这道题是按顺序覆盖,还比较好做了)。其实相对于普通的线段树,就是没有向上合并的过程而已(因为没什么用)。查询的时候就是值域全部查询,一个一个点往下找,就可以了,根本就没有太复杂的东西。当然这题还要离散化,跟普通离散化不大一样,对于距离大于1的点,我们还得插入一个点,否则会出现一些错误(其他博客也有说,或者就是大家想的那些)。要注意的是,这类题在初始化的时候,线段树所有点的初始值必须都一样,否则下传的时候会发现各种奇葩错误。#include<原创 2020-08-14 10:07:50 · 83 阅读 · 0 评论 -
二维偏序 poj 2352 luogu 3431
这两题都是二维偏序,二维偏序的题怎么去做呢?回忆一下二维偏序,可以化为这样一个问题:设一个点为(x,y),问(1 ~ x-1,1 ~ y-1)(即一个点的左下方)有多少个点?那我们一般怎么做呢,就是固定一维(x或y)然后排序,在另一维统计答案。这么做的正确性看看题,手动模拟一下就知道了(严格证明我不知道)。poj 2352:很明显题目已经固定了y这一维,然后我们统计x就可以了。#include<cstdio>#include<algorithm>#include<原创 2020-08-10 17:36:20 · 329 阅读 · 0 评论