上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 59 下一页
摘要: I.II.[ZJOI2019]语言 一开始看错题,以为同一种语言会被普及多次,然后就成了神题不会做。一看题解,发现自己看错题了,原来是垃圾题。 一个点所能到达的点,只有与它在同一条路径上出现过的点,换句话说就是经过它全部路径的并。 全部路径的并很好搞,就是全部路径端点建出虚树的大小。虚树大小也很好搞 阅读全文
posted @ 2021-04-06 10:21 Troverld 阅读(66) 评论(0) 推荐(0) 编辑
摘要: I.I.[POI2011]ROT-Tree Rotations 可以发现,你无论如何交换某个节点里的儿子们,该节点子树内每个数的数量都是不变的。 于是我们考虑类CDQ分治的思想——先计算儿子内部最小逆序对数,然后再在父亲处计算两个儿子之间的最小逆序对数。 因为保证叶节点上的东西是排列,所以设左儿子的 阅读全文
posted @ 2021-04-06 10:18 Troverld 阅读(47) 评论(0) 推荐(0) 编辑
摘要: IX.[Ynoi2017] 由乃的玉米田 比VII.小清新人渣的本愿仅仅多了一个除法操作。 常规方法看上去不行,考虑根号分治。对于 \(\geq\sqrt n\) 的询问,直接暴力枚举较小的那个数即可。对于 \(<\sqrt n\) 的询问,考虑 \(O(n)\) 扫一遍回答所有 \(x\) 为某一 阅读全文
posted @ 2021-04-06 10:16 Troverld 阅读(52) 评论(0) 推荐(0) 编辑
摘要: VIII.CF633H Fibonacci-ish II 强烈谴责卡常屑题( 莫队。于是要支持插入数、查询与斐波那契数列的点积和。 离散化后就直接在线段树上处理。于是变成单点插入/删除(这个很 easy)以及后缀斐波那契数列前移/后移。 直接上矩阵维护。但是会TLE(因为常数是 \(2^3\))。预 阅读全文
posted @ 2021-04-06 10:14 Troverld 阅读(51) 评论(0) 推荐(0) 编辑
摘要: VII.小清新人渣的本愿 仍是 bitset 优化莫队。 具体而言,减操作就直接右移/左移 bitset(具体哪个都行,反正是等价的)然后求 and 看看是否非零即可;加操作就同时维护原本的 bitset 和取反后的 bitset,然后就像减操作一样处理即可;乘操作就直接 \(\sqrt n\) 地 阅读全文
posted @ 2021-04-06 10:12 Troverld 阅读(66) 评论(0) 推荐(0) 编辑
摘要: VI.[Ynoi2016] 掉进兔子洞 bitset 优化莫队。 具体而言,我们似乎只需要求出三个区间的 bitset,然后求交即可。 但是问题来了,bitset 似乎只支持不可重集求交呀? 没关系,我们考虑在离散化时,对于一个出现次数为 \(c_x\) 的元素 \(x\),预留它后面的 \(c_x 阅读全文
posted @ 2021-04-06 10:10 Troverld 阅读(44) 评论(0) 推荐(0) 编辑
摘要: V.CF940F Machine Learning 直接在线莫队即可。 需要注意的是,因为本题中 \(\text{mex}\) 大小是不可能超过 \(\sqrt n\) 的,因此不用分块维护值域,直接暴力即可。时间复杂度 \(O(n^{5/3})\)。 代码: #include<bits/stdc+ 阅读全文
posted @ 2021-04-06 10:07 Troverld 阅读(45) 评论(0) 推荐(0) 编辑
摘要: IV.CF576C Points on Plane 实际上跟莫队关系不大,但是注意到平面上两点间曼哈顿距离就等价于莫队上从一个状态到另一个状态时左右端点移动次数。于是直接莫队式排序即可。 代码: #include<bits/stdc++.h> using namespace std; const i 阅读全文
posted @ 2021-04-06 10:05 Troverld 阅读(44) 评论(0) 推荐(0) 编辑
摘要: III.[WC2013] 糖果公园 树上莫队。 树上莫队是依照于一种特殊的序列:括号序列而进行的莫队。括号序列,具体而言,是 dfs 树的时候,到一个点就插入序列,离开一个点的时候再插入一次。这样,所有在树上 \(x\sim y\) 路径上出现的点,在括号序列上就是自 \(x\) 第一次出现的位置到 阅读全文
posted @ 2021-04-06 10:03 Troverld 阅读(62) 评论(0) 推荐(0) 编辑
摘要: II.【模板】回滚莫队&不删除莫队 莫,就硬莫。 代码: #include<bits/stdc++.h> using namespace std; const int BBB=450; int n,m,a[200100],mx[200100],mn[200100],ans,res[200100]; 阅读全文
posted @ 2021-04-06 10:01 Troverld 阅读(39) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 59 下一页