线段树
basasuya
这个作者很懒,什么都没留下…
展开
-
hdu5860 Death Sequence
这题一开始写的线段数是从中间开始查找 k个 导致是nlogn 每次查找应该都是从头找每次找的个数不同就好了 #include using namespace std; typedef long long ll; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 const int MAXN = 3e6+5; int N,K,Q; int tree原创 2016-08-20 21:04:01 · 558 阅读 · 1 评论 -
CF Educational Round 23 F.MEX Queries
写了3小时 = =。这两天堕落了,昨天也刷了一晚上hihocoder比赛,还爆了零。之后得节制点了,好好准备考研。。首先很容易想到 压缩数据 + 线段树 然后对于Pushdown真很难写。。需要牵涉到状态修改(所以我又写了一个adjust函数,辅助修改) 我一直跪在test7,因为3号修改在一开始就会出现cover符号的修改,我一开始没有加(比方说1-4都是0,现在 做3 1 4,直接吧1-4的原创 2017-06-26 16:00:48 · 270 阅读 · 0 评论 -
Codeforces Round #424 Div2 E. Cards Sorting
我只能说真的看不懂题解的做法 我的做法就是线段树维护,毕竟每个数的顺序不变嘛 那么单点维护 区间剩余卡片和最小值每次知道最小值之后,怎么知道需要修改的位置呢 直接从每种数维护的set找到现在需要修改的数的在初始卡片的位置#include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <algor原创 2017-07-17 21:21:46 · 328 阅读 · 0 评论 -
Educational Codeforces Round 36 (Rated for Div. 2) E. Physical Education Lessons
提供两种思路 一种线段树区间更新 另一种用map维护连续的区间,也是题解的思路 第二种很难写(我太渣,看了别人的代码,发现自己写的太烦了) #include #include #include #include #include #include #include #include #include #include #include using namespace std; type原创 2018-01-23 21:45:29 · 274 阅读 · 0 评论