摘要:
传送门 ** 首先对于读入的排列用树状数组计算逆序对数量,然后考虑分块,每一个块预先排序好,如果l和r中间有块那么对于每个块二分去找数量,然后l和r的块内进行暴力查找。** ** 对于不在同一个块内的l和r我们考虑用vector的erase函数和insert函数进行有序的删除与查找。最后保留一下最小 阅读全文
传送门 ** 首先对于读入的排列用树状数组计算逆序对数量,然后考虑分块,每一个块预先排序好,如果l和r中间有块那么对于每个块二分去找数量,然后l和r的块内进行暴力查找。** ** 对于不在同一个块内的l和r我们考虑用vector的erase函数和insert函数进行有序的删除与查找。最后保留一下最小 阅读全文
posted @ 2023-03-20 17:25
春始于雪之下
阅读(49)
评论(0)
推荐(0)
摘要:
传送门1-ZOJ 传送门2-洛谷 ** 学带修主席树的起因是vp吉林省赛的时候队友没看数据范围,然后上网查动态求逆序对,发现是带修主席树,批判我为什么不会,并要求我去学。~~学完之后发现带修主席树根本过不去,被卡内存了。~~** ** 这场的F其实暴力即可** ** 个人学完这个板子之后觉得板子应该 阅读全文
传送门1-ZOJ 传送门2-洛谷 ** 学带修主席树的起因是vp吉林省赛的时候队友没看数据范围,然后上网查动态求逆序对,发现是带修主席树,批判我为什么不会,并要求我去学。~~学完之后发现带修主席树根本过不去,被卡内存了。~~** ** 这场的F其实暴力即可** ** 个人学完这个板子之后觉得板子应该 阅读全文
posted @ 2023-03-20 09:22
春始于雪之下
阅读(58)
评论(0)
推荐(0)

传送门 题目大意: ** 给一个数组,然后有单点修改操作,还有求一个区间内所有数字出现的次数都是k的倍数的操作,如果区间所有数字都是k的倍数,那么输出YES否则输出NO。** 大致思路: ** 我们会发现无论用什么数据结构去维护似乎都不太可行,这题好像所有人都是用的一个方法:用一个极极极极极极极极大
传送门 思路如下: ** 因为每颗韭菜最开始高度都为0,韭菜的生长速度有大有小,生长速度的大的韭菜无论什么时候都是不会比生长速度小的韭菜高度更低的。所以我们考虑对生长速度进行排序,那么需要切割的韭菜其实是一个连续的区间,也就是说如果进行切割操作的话,如果有韭菜被切割,那么被切割的韭菜一定是总排完序之
传送门 先把所有询问读进来离散化,然后给权值线段树开点,然后对于每个修改操作选择修改logn层的全部信息,用线段树维护信息。 #include <iostream> #include <cstring> #include <iomanip> #include <algorithm> #include
题目链接 ** 这个题目的Xor,And,Or都是对于所有的数字进行操作的,那么我们会发现对一个二进制位置具有破坏性的操作是只有And和Or的。那么我们定义什么操作叫做破坏性操作。** ** 我们对于这种题肯定是能想到要用字典树来维护的,字典树的每个结点的左儿子是0,右儿子是1,那么当一个二进制位置
众所周知的一个对联 上联:AC自动机fail树dfs序建可持久化线段树 下联:后缀自动机next指针dag图上跑SG函数 ~~写一个比较板的这类型题~~ 题目链接 题目大意: 给出一个n和q,然后给出n个字符串,再给出q个询问l,r,k。需要查询第k个字符串出现在第l和第r个字符串之间的所有字符串里
** 一道类似捡贝壳的简化版本,这个题写了再写捡贝壳比较好** ** 你能回答这些问题吗** ** 很明显这种区间问题会用到线段树,然后首先考虑如何维护区间最大连续子序列,我们会发现对于线段树上每个非叶子结点(有儿子的结点)最大子序列无非就三种可能,一种是被左儿子完全覆盖,另一种是被右儿子完全覆盖,
题目链接 不会求概率,队友写的概率,他传给我一个二进制状态sta我只负责check一下是否合法 他推的公式如下 在这题进行线段树扫描线的时候遇到了之前没遇到的问题,如果l和r重合了那么是不需要进行modify的(105行),否则会RE,如果只有一个点构不成区间需要直接return false掉,否则
题目链接 算是比较入门的线段树题了 考虑线段树上维护三个值,sum维护总和,used维护当前结点是否还能进行操作,cnt100维护当前结点里面树上苹果数量少于100的树的数量。 我们可以发现每颗树上最多有1e9颗苹果,我们每次减去他三分之一,估算一下每颗树进行50次(k)以内的操作可以做到苹果数量小
浙公网安备 33010602011771号