区域赛/多校补题

PS:
每场会对我认为有价值的题目进行补题,补了的会有\(\checkmark\),不补的题会在比赛号的超链接中注明不补的原因,标\(\checkmark\)但是没有超链接跳转到对应题解的一般是题目个人认为比较怪补题价值不大或者是签到,标\(qaq\)的一般是超出能力范围的论文题/绝世好题,标!的是题目有补的意义但是对应前置知识对本人而言太难学(比如tarjan相关),暂时留坑,以后有机会会补。算法的坑会单独列一个表格。

近两年区域赛

\(比赛\) \(A\) \(B\) \(C\) \(D\) \(E\) \(F\) \(G\) \(H\) \(I\) \(J\) \(K\) \(L\) \(M\)
\(2020济南\) \(\checkmark\) \(N/A\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(N/A\) \(\checkmark\) \(\checkmark\) \(\checkmark\)
\(2020上海\)

杭电多校

\(比赛\) \(A\) \(B\) \(C\) \(D\) \(E\) \(F\) \(G\) \(H\) \(I\) \(J\) \(K\) \(L\) \(M\)
\(1\)
\(2\)
\(3\) \(\checkmark\) \(\checkmark\) \(\checkmark\)
\(4\)
\(5\)
\(6\) \(\checkmark\)
\(7\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\)
\(8\) \(\checkmark\)

牛客多校

\(比赛\) \(A\) \(B\) \(C\) \(D\) \(E\) \(F\) \(G\) \(H\) \(I\) \(J\) \(K\) \(L\) \(M\)
\(1\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\)
\(2\)
\(3\) \(\checkmark\)
\(4\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\) \(\checkmark\)

杭电多校3D

考虑暴力dp,$f_{i,S}$ 表示S集合的糖果分给i个小孩子的最小不悦值,转移显然,复杂度 $O(m3^{n})$,无法通过。 单看dp的第一维,按照i分层的话只会在相邻层转移,考察相邻层的转移,发现是一个子集上的斜率优化。直接维护每个子集的凸包仍然是 $O(m3^{n})$ 的,考虑一种我个人感觉比较神奇的做法: 设当前求解 $f_{i,S}$,那么先枚举想要转移的T的前n/2位,再枚举对应的S的前n/2位,复杂度是等价于子集的子集 $O(3^{\frac{n}{2}})$,再枚举S的后n/2位,这时需要做的就是求在T的后n/2位任意的情况下的最小值。 对S的后n/2位的子集维护凸包,暴力二路归并的复杂度是对的(这块我先再想想,还没弄清楚) 复杂度 $O(m6^{\frac{n}{2}})$。

杭电多校7

B,C:场上口胡出来了

D:签到

F:比较熟悉的数位dp

A

每个点能通过凸包当且仅当方向向量在两条切线之间,转化为给定一个点,询问有多少区间包含它,差分前缀和之后直接回答即可。

E

求期望等于记总数。枚举边长( \(O(\sqrt{nm})\) )和四个角的种类(256种),剩下就只需要完成边上的填充,这是所有的块可以分成三类:能填横边的,能填竖边的,都可以的。枚举多少个能填竖边的(这块的复杂度也是边长级别的),剩下的就是简单的预处理组合数。复杂度 \(O(256nm)\)

G

先考虑暴力dp,f(i,j)表示i节点子树,i的权值为j的最小代价,暴力转移复杂度不够优秀。观察转移方程,发现除开当前点代价之外,dp值不超过 \(O(儿子个数)\),因为在转移时并不关心j的具体值,而是只关心j和边权的大小关系,小于则转移一个前缀min,反之则是后缀min。把这些值以及对应的区间用set维护起来,最后的结果就是若干个值相同的区间,整体再加上两个等差数列,可以很方便的维护前缀min和后缀min。转移时先对边权从小到大排序,再从小到大枚举边,每次枚举都会导致一个点的转移从后缀min变成前缀min,在set上查询后暴力修改即可。

H

结论:当且仅当\((a-1)\oplus (b-1)\oplus (c-1)=0\)时先手必败。
证明和nim类似,设\((a-1)c (b-1)\oplus (c-1)=0\)为必败态,否则为必胜态,证明必败态必然转移向必胜态,必胜态存在一种方案转移向必败态。

J

和 [这道题](https://www.luogu.com.cn/problem/P4841) 类似。只是这次对于每条边加权p,不存在的边加权(1-p)。由于加权,如果直接设EGF的话会发现卷积无意义,但是给每张点数为n的图再加权 $(1-p)^{\frac{n(n-1)}{2}}$ 卷积的结果就有意义且刚好满足我们的需求。设G(x)是n个点的图的权值和除以 $(1-p)^{\frac{n(n-1)}{2}}$ 的生成函数,F(x)是n个点的连通图的权值和 $(1-p)^{\frac{n(n-1)}{2}}$ 的生成函数,由exp的组合意义,G=exp(F)。 至于为什么想到要把n个点的图的权值和除以 $(1-p)^{\frac{n(n-1)}{2}}$,考虑卷积的时候多了一团我们不想要的 $(1-p)^{(n-k)k} $,把k和n-k看成a和b,那么我们最后就是要让 $a_n$ 带上一个权值使得满足 $f_{n}a_{n}=\Sigma C(n,k)f_{k}a_{k}f_{n-k}a_{n-k}(1-p)^{(n-k)k}$。同时$f_{n}=f_{k}f_{n-k}(1-p)^{(n-k)k}$。可以联想到一个式子 $\frac{(a+b)^2}{2}=\frac{a^2}{2}+\frac{b^2}{2}+ab$。

C

Hint 1:每行只需要关心最左边的人

Hint 2:限制构成一张折线图

Hint 3:折线图中两类线的斜率分别单增单减

Hint 4:扫两遍求出对于每一行的限制取min即可

O(mq)

E

令 $f_{i,j,0/1}$表示A的i子树和B的j子树匹配,i节点一定/不一定和j匹配的答案,发现转移是二分图最大权匹配。

O(n^{3})

牛客多校3

H:板子

A,J:签到

牛客多校4

B:积分题,题解讲的很清楚

G,J:分类讨论题

K,M:签到

L:怪题,感觉补了没啥太大用

A

微扰法板子,列出微扰前和微扰后的权值做差可得答案一定是按照每个元素的某一特征值排序后的取法,直接背包即可,注意为了方便统计贡献需要从后往前dp。

C

直接暴力列出生成函数,发现除开exp(x)外其余多项式长度之和不是很大,于是在不展开exp(x)的情况下卷积,询问时再展开即可,由于询问时相当于手动卷积,而两个被卷的式子中有一个的长度不超过c,所以复杂度正确。

D,E

先考虑二维,显然可以维护一个阶梯状折线然后二维前缀和,那么对于三维的情况,暴力枚举第三维,对另外两维套用前面的方法,发现每次是排序-打标记,排序可以直接归并,也可以用set维护插入。

F

树上回滚莫队+支持双端插入和撤回的回文自动机 树上回滚莫队是先树分块,然后块内暴力,块间莫队。考虑到这题是链上询问,甚至不需要保证块大小,只需要块直径,所以可以直接一遍dfs,当前子树内直径大于阈值就分一个块。 支持双端插入和撤回的回文自动机看17年论文就行,撤回就是维护每个前缀的最长回文后缀对应节点,暴力删点,如果一个点没有儿子了就把这个点删掉。双端插入只需要额外维护一个全串最长回文前缀,由于回文性质,fail同时也表示最长回文前缀。 为了撤回复杂度正确,需要使用不基于势能的插入,具体做法是维护一个快速跳fail的指针,指向能匹配某个字符的最长回文后缀。复杂度会多一个字符集。

I

枚举T中的每一种值,T中当前值赋1,否则为0;S中小于该值的记为1,否则为0,原题转化为对应位置点乘为0,K维FFT可以解决但复杂度不够优秀,发现可以压成1维,做法是把每一维看做一个进制,把多维坐标转换为一个整数,进而得出一维多项式,直接卷积即可。

N

稳定当且仅当所有的二进制数之间只有包含关系(只有这样一次操作之后两个数不变),从大到小排序之后一定是前面一部分为1,后面一部分为0,在碰撞过程中方差=$E(x^2)-E^2(x)$,期望不变,操作前后两个数的差不降,故方差不降,所以稳定时同时方差也取到最大值。
posted @ 2022-09-15 16:19  永无岛  阅读(29)  评论(1编辑  收藏  举报