摘要:
lxl丧心病狂…… 首先允许离线的区间询问一看就是莫队。那么我们看下怎么莫队? 不会。 “由乃题多半是不可做的。”于是我看了下题解……好吧果然是 bitset 用bitset维护当前出现了哪些数。对于差为x,可以将其左移然后和本身取并集,和为x,我们可以翻转这个bitset,然后左移取并集就好了。对 阅读全文
摘要:
一眼又是个莫队…… 首先看这时间/空间复杂度,线段树/主席树就别想了…… 然后么……zcy就有点傻了…… 于是zcy看了下hzwer,感觉受教育了。 分块的调块大小真是玄学设计。 有没有一种方法在修改上能够比线段树更快,同时又能相比暴力较快地回答询问呢? 我们可以用分块,把序列分成$nsqrt(n) 阅读全文
摘要:
首先允许离线,一眼莫队…… 然后考虑对于每次移动,这不就是让你求逆序对嘛(QAQ) 考虑怎么移动? 那么每次移动的时候我拿树状数组查询一下就好,注意要离散化。 1 #include<bits/stdc++.h> 2 #define N 50005 3 #define inf 1000000007 4 阅读全文
摘要:
我以为树分块什么的必有高论,结果居然是个暴力…… 方法也很简单,我看下每个节点dfs的时候是否已经大于k个,大于的话我就新开一块。 注意dfs的时候当前节点不能放进子树的块中。 阅读全文
摘要:
追yql做题记录的时候做到的……一道Splay模版题…… 啊LCT写久了都有点忘了Splay了(什么奇怪的逻辑?) 其实说白了五个操作: 1、 将某元素置顶:将元素旋到根,然后将左子树合并到该元素的后继 2、 将某元素置底:将元素旋到根,然后将右子树合并到该元素的前驱 3、 将某元素提前/滞后1位: 阅读全文
摘要:
不知道花神究竟是哪位dalao,但是我还是想缅怀下菊花大爷…… 提交:http://www.lydsy.com/JudgeOnline/problem.php?id=3211 又一个区间开根号题,不过这个无修改的比较简单,可以YY一下,一个区间开根号,开着开着就成了0或者1,维护下就好。 当然jir 阅读全文
摘要:
其实只是放个代码,会K-D-Tree的同学看了就知道怎么rebuild了,其实也是很简单粗暴的…… 单独再发一次吧,感觉把代码跟之前的一起发不知道啥时候就找不到了…… 1 #include<bits/stdc++.h> 2 #define N 50010 3 #define inf 10000000 阅读全文
摘要:
我怎么控制不住自己又写了个数据结构啊……真是的…… 其实我是想练CDQ分治的……结果忍不住又写了个主席树。 首先看看不动态的逆序对咋做?树状数组嘛。 那么删除咋搞?就是考虑贡献,把它前面比他大的,后面比他小的减去…… 诶?带修改主席树?我……我好像才写过……? 1 #include<bits/std 阅读全文
摘要:
三维偏序是一个很经典的东西啊。 //结果蒟蒻我居然是先写的四维的? 第一位排序当作限制,然后cdq分治+树状数组统计就好。写起来很快的啊。 题目:bzoj3262 陌上花开 1 #include<bits/stdc++.h> 2 #define N 100005 3 using namespace 阅读全文
摘要:
昨天在写带修改主席树的时候,咸鱼zcysky发现自己似乎根本不会写主席树 于是正好找个空复习下…… 主席树的原理不用我扯了,主席树为啥能求k大,大概在它可以用历史版本存下区间的前缀和,求的时候差分下就能提出我要求的区间。 不过这么搞的话不要忘了离散化。 1.kth number 就是上面的裸题,不要 阅读全文