摘要: 不难发现他在线是假的。 时间段立刻可以想到线段树分治,做法显然了。注意下时间点和时间段的转换。 #include <cstdio> #include <algorithm> #include <iostream> #include <cstring> #include <vector> #inclu 阅读全文
posted @ 2021-08-21 22:56 FxorG 阅读(39) 评论(0) 推荐(0)
摘要: 离线做法显然 $dfs$ 顺便开个桶记录下就好。 在线可以将桶换为主席树,一次增加 $\log n$ 个点。被卡了 考虑非正解做法。 我们在 $mod \ 3$ 下运算的话,可以得到对于 3 个东西的判定。 1. $sum=0$ ,因为 $3k\cdot cnt_1+3k \cdot cnt_2 + 阅读全文
posted @ 2021-08-18 20:32 FxorG 阅读(61) 评论(0) 推荐(0)
摘要: 找到这道题的时候,我啪的一下啊!很快啊!我想到了暴力将每个数搞到集合里的做法,然后每个集合有一个实际序列 $[l_i,r_i]$。 但这样就被偷袭了! 考虑只需要集合整个的权值,我们直接开个差分数组搞下就好了。然后长度和就往块内 $hash$ 顺便记个集合下标。 这题不同于这题的原因是这题的区间是连 阅读全文
posted @ 2021-08-18 17:06 FxorG 阅读(149) 评论(0) 推荐(0)
摘要: upt:由于是异或,正确性不一定能保证。可以考虑对每个权值随机赋值加强正确性。 首先有个性质,假如这个区间合法,那么这个区间的异或和等于这个区间出现过的数的异或和。 出现过的数自然想到 HH 的项链,考虑记 $las$,然后一个数只对 $[las_{a[i]}+1,i]$ 有贡献。 记 $ s_i= 阅读全文
posted @ 2021-08-17 17:13 FxorG 阅读(146) 评论(0) 推荐(0)
摘要: 斜率优化本质:维护凸包 基本上都是得到一个答案斜率式,然后后面的不会比前面的更优,找到这样的斜率临界点(二分),维护上/下凸包。 经常使用单调队列维护是因为斜率单调不降,单调栈是因为斜率单调不增。 $x$ 坐标假如不单调递增的话就不能用线性数据结构维护,可以使用李超树/ $cdq$ 分治。 决策单调 阅读全文
posted @ 2021-08-16 14:25 FxorG 阅读(110) 评论(0) 推荐(1)
摘要: CF1327F AND Segments 不难想到按位考虑,把每一位选到最后的答案乘起来。 可以发现,假如一段区间 $and \ sum=x$,对于第 $i$ 位,假如 $(x>>i)\&1$ ,那么这一段必须这一位都是 $1$,否则至少要有一个 $0$。 那么我们先枚举第 $wei$ 位,那么如何 阅读全文
posted @ 2021-08-13 01:24 FxorG 阅读(61) 评论(0) 推荐(0)
摘要: 题目 1. 2种做法,一种是 $O(nk\log n)$,另一种是 $O(n)$。前者可以从深度大的开始填(优先队列维护)。后者只需要开 $f[0][x]$ 表示 $x$ 离关键点的最近距离,$f[1][x]$ 表示 $x$ 离没被控制的最远点的距离。考虑 $f[0][x]+f[1][x] \le 阅读全文
posted @ 2021-08-12 01:31 FxorG 阅读(137) 评论(0) 推荐(0)
摘要: 题目 先按左边排,考虑一个人/店不是匹配左边的(主动)就是让右边的匹配他(被动) 定义 $v$ 为堆顶(小根堆),至于是人堆还是店堆按具体情况。 一个人匹配某家店 匹配左边: $x+v$,那么 $v=w-y$。这里显然是店堆。 匹配右边:反悔,$-(x+v)-x$ 插入人堆。具体为什么插入这个东西下 阅读全文
posted @ 2021-08-11 19:08 FxorG 阅读(352) 评论(0) 推荐(0)
摘要: https://www.luogu.com.cn/blog/moonoshawott/adjacent-exchange 阅读全文
posted @ 2021-08-11 16:46 FxorG 阅读(36) 评论(0) 推荐(0)
摘要: 首先,回文假如只考虑 2 个字符,那么它是相对的。 即 A...A,我们只需要考虑 A 是否能匹配到 A。 考虑一个字符的移动代价,显然假如在 $pos$,那么全局移动代价就是 $n-pos$。 对于 A1...A2...A3...A4 这种情况,显然 A1,A4匹配,A2,A3匹配最优。即,能包含 阅读全文
posted @ 2021-08-11 16:44 FxorG 阅读(55) 评论(0) 推荐(0)