Examples

2022-12-19 #16 我们执意追寻 会否燃为灰烬

——霾《妄想Reality》

「少女戴上面具继续逃亡」
「饥饿与瘟疫如影随形」
「恐惧却不能把握她的命运」
「死亡即是归宿」
「她已经看清」

今天有点摆,现在才发博客呜呜。

话说都是哪些老哥在看我博客呀,能不能评论一下,让我看看!!


80 Ptz2022 Day2 ZJU Contest 1 E Ternary Search

联考考过,没补,我是摆怪。

先考虑一个经典问题,把序列变成递增序列,交换次数即逆序对数。

从小到大选择数字,并将数字摆在序列左、右侧,那么无论中间顺序如何,放左、右侧的顺序是固定的。(因此,加入过程没有后效性,我们可以直接贪心)

现在考虑如何 pushback 一个数,这个数一定摆在右侧。它会对之前加入了、比它大且摆在右侧的数有影响。

那么我们每个数都会在一开始加入右侧,在某个时间段切换到左侧,这个时间很好算,令有 \(x\) 个在它前面,比他小的数,那么它后面第 \(x\) 个比它小的数加入后它就会切换到左侧,线段树二分即可。

复杂度 \(O(n\log n)\)

81 Ptz2022 Day2 ZJU Contest 1 L Maximum Range

比较简单的题。

显然一个边双内的才能同时出现,我们选出这两条边,跑个网络流就好了。

一个小技巧:图中的边建边的时候把边的正向、反向边流量上界都设为 \(1\)

顺带复习一个小知识:神秘图论技巧

找一条 \((u,v)\),经过 \(e\) 的路径。

\(u\) 为根生成一棵 dfs 树,显然可以让 \(e\) 成为一条树边。若树上路径包括 \(e\) 显然平凡,否则我们要找到一个简单环与路径有交,并让简单环包括 \(e\)

dfs 树上的简单环一定可以通过若干条的返祖边对应简单环异或而成,我们不妨考察 \(e\) 对应子树(不包含根的那个,令根为 \(x\))的最浅返祖边 \((p,q)\),然后找到 \(q\)\(p\) 走一步到的结点 \(r\),继续跳 \(r\) 子树最浅返祖边直到 \(r\)\(v\) 的严格祖先。(从 \(q\) 走到 \(r\) 是为了让环有交)

归纳可证这是一个简单环,也容易发现异或后一定是简单路径。

82 Ptz2022 Day3 Qingyu, flower and their friends’ Contest K Kitten’s Computer

其实我也不是很明白,下面纯属夹杂个人理解的官方 sol 翻译。

我们先设计出一个加法器。

考察 \(G=a\and b,P=a\oplus b\),并使用 \(O(1)\) 次并行操作(如果要保留成一个 bit 就要 \(3\) 次,但仅关心最后一位可能也等价?这样只要 \(2\) 次)对 \(G,P\) 进行拆位。

考察 \(Q=(a+b)\oplus P\),事实上它就是 \(G\) 右移后与 \(P\) 得出的进位,而这个东西是可以列出式子:

\[Q_i=\or_{j<i}G_j\prod_{j<k<i}P_k \]

使用倍增,令 \(b\)\(0\) 枚举到 \(5\),每次令(那么 \(P_i\) 就代表 \([i-2^b+1,i]\)\(P\) 的按位与,\(G\) 可以类似理解)

\[G_i'\leftarrow G_i\or(G_{i-2^b}P_i)\\P_i'\leftarrow P_i\and P_{i-2^b} \]

这个东西就可以并行了,次数大概是 \(12\) 次。

然后是乘法器。

算了,明天再做。

83 CF1774G Segment Covering

明天写。


loj#6465. 二平方和定理:鸽

今天看了一下 DAG 剖分,发现 DAG 剖分能做不少题,还特别无脑!

uoj752 uoj697 uoj577 CF1098F。

posted @ 2022-12-19 16:00  xiaoziyao  阅读(133)  评论(1)    收藏  举报