08 2021 档案

摘要:为啥网上这题很少有题解啊。 首先,改 A 和改 C 是一样的,我们考虑只改 C。让 D 去匹配 B。 有一个比较好想的做法,先考虑能够同国匹配的就先匹配掉(这个可以用 multiset),剩余的,考虑按值域来(实际上离散化后就是跟按序列一样),对于 Di,那么所对应 Bj 的值域在 $[ 阅读全文 »
posted @ 2021-08-31 17:03 FxorG 阅读(243) 评论(0) 推荐(0) 编辑
摘要:首先这题对于 a[l,l+m1] 能够成功匹配,当且仅当去连边,然后能形成完美匹配。 但是边数可能到 m2 的级别,所以跑不了 dinic,但我们只需要判断是否有。 于是,考虑 hall 定理,即对于二分图一部的子集 S,每个点在另一部连得边的并集 S,有 $|S| \le | 阅读全文 »
posted @ 2021-08-31 15:25 FxorG 阅读(74) 评论(0) 推荐(0) 编辑
摘要:题目 难得自己独立想出来并一次过的题目!!!后来翻了下题解自己似乎写复杂了() 首先,染绿色这东西不用管,只要用三种颜色然后最后让最大或最小的那个颜色是绿色即可。 一看题,这递归建树挺 ex 的。定义 f[0/1/2][x] 表示 x 子树内的颜色 0/1/2 的数量。转移了一下,发现不 阅读全文 »
posted @ 2021-08-23 18:04 FxorG 阅读(39) 评论(0) 推荐(0) 编辑
摘要:求证 ni 只有 n 种取值。 当 i[1,n] 时,取值范围在 [n,n],最多有 n 种取值。 当 i[n,n] 时,取值范围在 $ 阅读全文 »
posted @ 2021-08-23 11:10 FxorG 阅读(39) 评论(0) 推荐(0) 编辑
摘要:不难发现他在线是假的。 时间段立刻可以想到线段树分治,做法显然了。注意下时间点和时间段的转换。 #include <cstdio> #include <algorithm> #include <iostream> #include <cstring> #include <vector> #inclu 阅读全文 »
posted @ 2021-08-21 22:56 FxorG 阅读(36) 评论(0) 推荐(0) 编辑
摘要:离线做法显然 dfs 顺便开个桶记录下就好。 在线可以将桶换为主席树,一次增加 logn 个点。被卡了 考虑非正解做法。 我们在 mod 3 下运算的话,可以得到对于 3 个东西的判定。 1. sum=0 ,因为 $3k\cdot cnt_1+3k \cdot cnt_2 + 阅读全文 »
posted @ 2021-08-18 20:32 FxorG 阅读(54) 评论(0) 推荐(0) 编辑
摘要:找到这道题的时候,我啪的一下啊!很快啊!我想到了暴力将每个数搞到集合里的做法,然后每个集合有一个实际序列 [li,ri]。 但这样就被偷袭了! 考虑只需要集合整个的权值,我们直接开个差分数组搞下就好了。然后长度和就往块内 hash 顺便记个集合下标。 这题不同于这题的原因是这题的区间是连 阅读全文 »
posted @ 2021-08-18 17:06 FxorG 阅读(141) 评论(0) 推荐(0) 编辑
摘要:upt:由于是异或,正确性不一定能保证。可以考虑对每个权值随机赋值加强正确性。 首先有个性质,假如这个区间合法,那么这个区间的异或和等于这个区间出现过的数的异或和。 出现过的数自然想到 HH 的项链,考虑记 las,然后一个数只对 [lasa[i]+1,i] 有贡献。 记 $ s_i= 阅读全文 »
posted @ 2021-08-17 17:13 FxorG 阅读(137) 评论(0) 推荐(0) 编辑
摘要:斜率优化本质:维护凸包 基本上都是得到一个答案斜率式,然后后面的不会比前面的更优,找到这样的斜率临界点(二分),维护上/下凸包。 经常使用单调队列维护是因为斜率单调不降,单调栈是因为斜率单调不增。 x 坐标假如不单调递增的话就不能用线性数据结构维护,可以使用李超树/ cdq 分治。 决策单调 阅读全文 »
posted @ 2021-08-16 14:25 FxorG 阅读(99) 评论(0) 推荐(0) 编辑
摘要:CF1327F AND Segments 不难想到按位考虑,把每一位选到最后的答案乘起来。 可以发现,假如一段区间 and sum=x,对于第 i 位,假如 (x>>i)&1 ,那么这一段必须这一位都是 1,否则至少要有一个 0。 那么我们先枚举第 wei 位,那么如何 阅读全文 »
posted @ 2021-08-13 01:24 FxorG 阅读(57) 评论(0) 推荐(0) 编辑
摘要:题目 1. 2种做法,一种是 O(nklogn),另一种是 O(n)。前者可以从深度大的开始填(优先队列维护)。后者只需要开 f[0][x] 表示 x 离关键点的最近距离,f[1][x] 表示 x 离没被控制的最远点的距离。考虑 $f[0][x]+f[1][x] \le 阅读全文 »
posted @ 2021-08-12 01:31 FxorG 阅读(125) 评论(0) 推荐(0) 编辑
摘要:题目 先按左边排,考虑一个人/店不是匹配左边的(主动)就是让右边的匹配他(被动) 定义 v 为堆顶(小根堆),至于是人堆还是店堆按具体情况。 一个人匹配某家店 匹配左边: x+v,那么 v=wy。这里显然是店堆。 匹配右边:反悔,(x+v)x 插入人堆。具体为什么插入这个东西下 阅读全文 »
posted @ 2021-08-11 19:08 FxorG 阅读(324) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/blog/moonoshawott/adjacent-exchange 阅读全文 »
posted @ 2021-08-11 16:46 FxorG 阅读(32) 评论(0) 推荐(0) 编辑
摘要:首先,回文假如只考虑 2 个字符,那么它是相对的。 即 A...A,我们只需要考虑 A 是否能匹配到 A。 考虑一个字符的移动代价,显然假如在 pos,那么全局移动代价就是 npos。 对于 A1...A2...A3...A4 这种情况,显然 A1,A4匹配,A2,A3匹配最优。即,能包含 阅读全文 »
posted @ 2021-08-11 16:44 FxorG 阅读(46) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示