四月摸鱼记录

zhoukangyangAKIOI(详细揭秘) zhoukangyang 显然 AKIOI
摸鱼小游戏 https://epicpikaguy.itch.io/n-step-steve-part-1 https://epicpikaguy.itch.io/n-step-steve-part-2

前半个月的以后再补(

IOI2009 Archery

由于 \(R\ge 2N\),可以猜测结论,在模拟 \(2N\) 轮后会进入循环:\(1\)\(N+2\sim 2N\) 不动,\(2\sim N+1\) 循环移动。

首先对于环上的问题,可以破环成无限链考虑。发现(在链上)初始位置在 \(i\) 的话,最终位置比 初始位置在 \(i+1\) 一定会靠前。也就是说 \(ans_i\) 的序列递增,需要找到最小的 \(ans_i\bmod k\),可以每一段二分。

现在问题是对于一个初始位置快速模拟。把比自己好的叫做 \(0\),自己为 \(1\),比自己烂的叫做 \(2\)

对于 \(u=N+2\sim 2N\),手玩发现,可以把 \(2\) 先匹配位置,然后找到 \(1\) 的位置。

对于 \(u=2\sim N+1\),可以发现其他的性质:在 \(i\) 轮后 \(1\) 位置更大的那一个一定是最大的;\(2\) 位置更大的那一个一定是 \(2\sim i+1\) 中最大的。可以模拟 \(2N\)\(1\) 位置发生的事件,掉下一个就放到 \(i+N\)

联合省选 2023 城市建造

发现一个点双选了两个就要全选。

于是建立圆方树。对于一个方点,选了就等于周围的圆点全选;选的方点必须形成连通块。

大概就是这个充要条件。

联合省选 2023 染色数组

考虑一些性质,比如有的数只能做上升,有的数只能做下降,有的数两个都行。

考虑一下 两个都行的数,需要满足什么?

在这步可以发现很好的性质,两个都行的数 是一个区间,这个区间满足要么严格上升,要么严格下降,要么是恰好两个相等的数。区间前的数和区间后的数都是只能放下降或只能放上升。

考虑第二问,这个“权值”的形式实在非常诡异,一定是适应题目的设计。经过推导发现,只有 两个都行的数 中最后一个需要决定涂哪种颜色更优,前面的都是确定的。

CF1804H Code Lock

直接做很难做?考虑转化贡献

把走的距离均摊到每条边上。对于 \(k\) 为偶数,两条对边的权值加起来等于两边集合互相跨越的个数,是固定的。对于奇数也有一样的结论。

于是可以只枚举半个环,枚举 \(\binom{k}{k/2}\) 个初始状态,每次删一个加一个,转移到下一个半环,每步的半环有一个贡献。


JOISC 2018 Day 3 安全门
JOI Final 2023 T5 现代机器(可强制在线)

首先思考一下,一个操作本质干了什么?发现是:

  • \(c_x\) 变成 R
  • 如果有 \(\ge x\)L 就把前 \(x\)L 变成 R,否则把后 \(n-x+1\)R 变成 L

考虑 subtask 5 的做法,就是每次把分界线 \(p\to (p+a_i+[a_i>p])\bmod n+1\)

可以线段树维护,pushup 类似 【清华集训2014】玄学。

考虑没有 sub5 的性质,我们希望能模拟到有 sub5 的性质为止。

考虑记录一个当前的 R 前缀和当前的 L 后缀长度。一个一个操作下去:

  • 如果操作点落在 R 前缀中或 L 后缀中,那就只是 R 前缀/L 后缀增加了长度,可以快速算。
  • 否则,这次操作后或者 R 前缀或 L 后缀一定长度翻倍,或者变成有 sub5 的性质,只会发生 \(O(\log)\) 次。

第一种可以直接倍增跳过去;可以找到第二种操作发生的位置,对第二种暴力模拟。

上面就体现了 可以考虑快速跳过 trivial 的操作,然后发现剩下的 non-trivial 操作只有很少的数量级 这种思想。

P5624 [Celeste-A]Black Moonrise

拆一拆: \(\gcd(a_i,a_j)=\sum_{d|a_i,d|a_j}\varphi(d)\)

考虑二次离线莫队。转化成的问题是:扫到一个 \(a_i\),枚举 \(i\) 的因数 \(d\),枚举(在序列中出现过的)所有 \(d\) 的倍数。

考虑根号分治,对一些 \(d\) 做前缀和处理,对一些 \(d\) 在 二次离线莫队 里做。

考虑对时间复杂度根号分治

设一个 \(d\) 的“复杂度”为 \(\min(1,\frac{{序列中 d 的倍数个数}}{d})\),选复杂度最大的 \(B\) 个做前缀和,剩下的莫队。


做 AGC 不会做扔掉了,再重新回来做还是不会做。

今天又没做出来题。

AGC049F Happy Sequence

被虐了,以后再记


ptz summer 2022 day7 G : Battleship: New Rules

考虑玩家 A 如何构造。

题目要求“格点”不被占两次,而不是格子。一个 \(1\times x\) 的矩形,可以看作占了 \(2\times (x+1)\) 个格点。经过这样转化,就变成了求唯一的不被占据的格点,这个形式很好看。

如果格点有偶数个,会全部被占掉,答案为 -1. 如果有奇数个,那恰有一个没被占掉。

考虑二分,每次选长的一边切开。

ptz summer 2022 day7 A : Easy Problem

完全不会做啊。对这种题没有感觉。

鸽了

P9159 「GLR-R4」大暑

感觉是偏套路的题,但细节有点难编。


AGC061E Increment or XOR

题解写了。

AGC050F NAND Tree

大概想出来了,题解在路上了。


to do:

posted @ 2023-04-18 09:40  Rainbow_qwq  阅读(559)  评论(1)    收藏  举报