莫队
文章平均质量分 81
neither_nor
这个作者很懒,什么都没留下…
展开
-
BZOJ4540 [Hnoi2016]序列
和xuruifan讨论了半天,然后orz了一下网上题解“预处理一些东西,然后莫队”……于是YY了半天预处理啥终于YY了出来对于一次添加操作,会对答案做出一些贡献,在其他条件相同的情况下删除这个数的贡献和添加的贡献一样,在左边添加和在右边添加一样,所以我们只讨论在左边添加的情况首先单调栈预处理一下每个数左边和右边第一个比他小的数的位置,两个位置之间称为这个数的覆盖区间然后预处理一原创 2016-04-29 13:00:48 · 898 阅读 · 0 评论 -
BZOJ4129 Haruna’s Breakfast
带修改树上莫队加分块-_-带修改莫队:把修改和查询分别存起来,查询按x所在块为第一关键字,y所在块为第二关键字,时间为第三关键字排序,修改按时间排序,然后再扫查询的时候每次走完x和y再走时间,该更改的更改,该回滚的回滚,块的大小取n^(2/3),复杂度为n^(5/3)树上分块:维护一个栈,维护子树内没有块的点,深搜,回溯的时候压栈,当栈里元素大于块下界的时候分一块树上莫队:刚开始使得L原创 2016-05-27 20:58:30 · 1319 阅读 · 5 评论 -
BZOJ3052 [wc2013]糖果公园
带修改树上莫队裸题挺好写的嘛-_-带修改树上莫队可以看这里#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define MAXN 10001原创 2016-05-29 12:16:36 · 765 阅读 · 0 评论 -
BZOJ4564 [Haoi2016]地图
仙人掌转成序列,然后莫队仙人掌转成序列的方法是先tarjan找环,对于一个环上的点,如果是环根,那么这个环都属于其子仙人掌,如果不是环根,那么除了他自己这个环上都不是其子仙人掌,这样再dfs一次,对于一个点,优先走其出边里是其子仙人掌的部分,同时对于一个环,把不与环根相连的点的siz加到环根的siz里,这样仙人掌就转成了序列,一个子仙人掌对应的区间就是dfn[x]~dfn[x]+siz[x]-原创 2016-04-29 12:51:38 · 1655 阅读 · 0 评论 -
BZOJ4241 历史研究
一眼觉得是莫队,发现删除不是很好搞,于是上回滚莫队直接搞过回滚莫队用于处理难以删除但是易于添加(其实易于删除难以添加也可以,但是没见过这样题-_-)的莫队,排序照常,如果左右端点在同一块直接暴力,这部分最多n sqrt n,否则把左端点在一块的一起处理,清空莫队,然后直接令莫队左端点在块尾,这部分n sqrtn,右端点照常走,这部分n sqrtn ,左端点每次走的时候记录更改了哪些量,走到地方原创 2016-04-29 14:00:58 · 1053 阅读 · 0 评论 -
BZOJ4810 [Ynoi2017]由乃的玉米田
对每个区间维护一下这个区间每个数有没有,用bitset压一下,这个用莫队跑出来,然后就能判加减合不合法了乘的话根号枚举一下就行了#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing原创 2017-04-07 11:35:57 · 1425 阅读 · 0 评论