梦游听课记录
《CF1458C Latin Square》
提示
从“形式”的角度看待它。
就是对 $(i,j,v)$ 的加减和换位。运算在模 $n$ 意义下进行。
《2020 EC Final C. Random Shuffle》
提示
什么信息最好用?能否丢弃一些信息,保留好用的?
对 $v$ 取模视作对 $2^k\;(2^k\mid v)$ 取模即可。
每个 $\rm bit$ 表示成初始 $x$ 的 $\rm bit$ 的 $\oplus$ 值。方程够多。
每个 $\rm bit$ 表示成初始 $x$ 的 $\rm bit$ 的 $\oplus$ 值。方程够多。
《THUPC 2021 F. 混乱邪恶》
提示一
$\tt dp$ 状态数太多,需减少。“无用决策”很难说。提示二
想想你做过的题。为什么 $x,y$ 可以给定而位置必须回原点?
$\texttt{random shuffle}$ 之后,位置在 $\mathcal O(\sqrt{n})$ 内。$\texttt{bitset}$ 优化常数。
《JOISC 2022 Super Dango Maker》
提示一
符合人类思维方式的想法:确定出现次数最少的数(的位置)。提示二
它其实揭示了相等关系。何不多合一?直接找到新数字和谁相等!提示三
在数字种类上二分,是 $\log n$ 。可是值只有 $m$ 种,且值相同的数并无区别。
二分出现次数 $w$ 。将已知的数中,出现次数 $\geqslant w$ 的保留 $w$ 次,其余忽略。新数字是否在内显然可知。
《2022 集训队互测 Were You Last》
勘误:函数的运行状态只有 \(2^6\) 种,但是 相同运行状态不转移到相同的后继状态,因此不能视作 \(2^6\) 个点的确定状态自动机。
提示一
显然读取的 $\rm bit$ 不能固定,也就是有依赖关系。又联想到格雷码,能否用较少 $\rm bit$ 搭建“示位器”做格雷码呢?
提示二
必须是格雷码吗?有必要保证每个数出现恰好一次吗?
用 $5$ 个额外 $\rm bit$ 表示 $26$ 以内的数,即“示位器”。每次操作时,先翻转“示位器”所指 $\rm bit$,若翻转后 $\rm bit$ 为 $1$,则将“示位器”重置为 $1$,否则“示位器”加一。
前几个被修改的 $\rm bit$ 是 $0,1,1,2,1,1,2,3,1,1,2$ 。可以发现第 $k$ 个 $\rm bit$ 在第 $2^k$ 操作时被第一次赋值为 $1$ 。因此修改第 $\log_2 n$ 个 $\rm bit$ 时,$\texttt{return true}$ 就赢了。
前几个被修改的 $\rm bit$ 是 $0,1,1,2,1,1,2,3,1,1,2$ 。可以发现第 $k$ 个 $\rm bit$ 在第 $2^k$ 操作时被第一次赋值为 $1$ 。因此修改第 $\log_2 n$ 个 $\rm bit$ 时,$\texttt{return true}$ 就赢了。
[unknown source]《lcm》:求最小字典序 \(\{b_i\}\) 使得 \(b_i\mid a_i\) 且 \(\text{lcm}\{b\}=\text{lcm}\{a\}\) 。长度 \(n\leqslant 10^4\) 但 \(a\leqslant 10^{18}\) 。
提示一
无法分解质因数,就无法统筹全局。与统筹全局相对的是什么呢?——增量法。提示二
增量法的优势:前有数字已经满足某些性质。比如,互质。以及,不基于质因数分解的,跟 $\text{lcm}$ 有关的操作是什么呢?它可能是我们唯一的武器。
从后往前依次调整(若从前往后则难以处理幂次相同的情况)。基本贪心策略即“若我成为顶梁柱,我就必须选”。
这等价于后面某个数的某个质因子的幂次小于我。也就是我除以我们的 $\gcd$ 之后剩下的。
由于后面的数互质,求出 $\gcd(a_i,\prod_{j>i}b_j)$ 即可。做除法后,需提取商里的质数,填充到 $a_i$ 中。可以直接求 $v^{\log a_i}$,然后 $b_i=\gcd(a_i,v)$ 。
还需回去修改 $b_j$ 。大力 $\gcd$ 将会 $\mathcal O(n^2\log a)$,略大。
可实际上需要修改的位置只有 $\mathcal O(\log a)$ 个啊。那不妨二分。我们先求出每个前缀积模 $t=b_i$ 的值。若该值与 $t$ 不互质则前缀内需修改。修改完后,将 $t$ 除以已修正的这个质因子,然后继续。复杂度 $\mathcal O(\log n\log^2 a)$,可行。
这等价于后面某个数的某个质因子的幂次小于我。也就是我除以我们的 $\gcd$ 之后剩下的。
由于后面的数互质,求出 $\gcd(a_i,\prod_{j>i}b_j)$ 即可。做除法后,需提取商里的质数,填充到 $a_i$ 中。可以直接求 $v^{\log a_i}$,然后 $b_i=\gcd(a_i,v)$ 。
还需回去修改 $b_j$ 。大力 $\gcd$ 将会 $\mathcal O(n^2\log a)$,略大。
可实际上需要修改的位置只有 $\mathcal O(\log a)$ 个啊。那不妨二分。我们先求出每个前缀积模 $t=b_i$ 的值。若该值与 $t$ 不互质则前缀内需修改。修改完后,将 $t$ 除以已修正的这个质因子,然后继续。复杂度 $\mathcal O(\log n\log^2 a)$,可行。
《洛谷 P6383 Resurrection》
提示
图 $G$ 首先是树。然后必要条件拼个充分条件出来吧!引理:图 $G$ 的充要条件
点 $p$ 的 $G$ 上父亲 $f_p$ 是其 $T$ 上祖先,且不存在 $(x,f_x),(y,f_y)$ 相交而不包含。必要性显然。充分性其实也简单,就是归纳法。取 $G$ 上 $n$ 的子节点中在 $T$ 上最深的 $x$,不难发现断掉 $c$ 与其 $T$ 上父节点的连边后,可以分别递归构造。
简单树形 $\tt dp$ 一下,记录祖先中有几个能选,$f_{x,i}=\prod_{y\in\text{son}(x)}\sum_{j=1}^{i+1}f_{y,j}$,答案即 $f_{n,0}$ 。
《CF1586F Defender of Childhood Dreams》
注:找不到颜色数下界就等死吧。你以为你是构造之王校长吗?
提示
研究 $k$ 的变化的影响会陷入绝境。不妨研究颜色数 $c$ 的变化吧!颜色数下界
下界是 $\lceil\log_k n\rceil$ 。它的证明思路是:若存在 $c$ 染色,则必然有 $n\leqslant k^c$ 。对 $c$ 归纳该结论,$c=1$ 平凡。否则考虑每个点作为结尾的最长 $c$ 色路径,有至多 $k$ 种,即 $[0,k)$ 。同一类之间的边不能是 $c$ 色(否则可更新),由归纳法知每类最多 $k^{c-1}$ 个点。故点数上界是 $k^c$ 。
构造就按照上面说的,分成 $k$ 类,每类递归构造,类之间连同色边即可。
如果这篇文章对你有帮助,那么作者是:OneInDark,原文在:https://www.cnblogs.com/OneInDark/p/16405233.html,否则我也不知道这是谁的文章。