Record -「CSP-S 2020」赛前强基

cirnovsky /

沉心静气,少逼两句。

∆ CF1042D Petya and Array - AC

比较随意的线段树吧吧吧吧吧懒得写了。

∆ CF1422A Fence - AC

没有题解

∆ CF1419A Digit Game - WA

没有题解

∆ CF1417B Two Arrays - AC

没有题解

∆ CF1385C Make It Good - AC

没有题解

∆ CF1380A Three Indices - AC

没有题解

∆ CF1380B Universal - AC

没有题解

∆ CF1380C Create The Teams - AC

没有题解

∆ CF1380D Berserk And Fireball - AC

死亡分类讨论

∆ CF1397A Juggling Letters - AC

没有题解

∆ CF1397B Power Sequence - AC

没有题解

∆ CF1401A Distance and Axis - AC

没有题解

∆ CF1401B Ternary Sequence - AC

没有题解

∆ CF1401C Mere Array - AC

没有题解

∆ CF1401D Maximum Distributed Tree - AC

首先考虑如何计算 i=1n1j=i+1nf(i,j)\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}f(i,j)

可以考虑对边计算贡献。

对于一条边 (u,v)E(u,v)\in E,那么 Fu,v=Sv×(nSv)F_{u,v}=S_{v}\times(n-S_{v})。其中 Fu,vF_{u,v} 表示边 (u,v)(u,v) 对答案贡献的次数,SuS_{u} 表示点 uu{subtree(u)}|\{\operatorname{subtree}(u)\}|

那么就有一个显然的贪心策略,把 kk 的质因子比较大的就分配给贡献次数比较多的边,那么对质因子和边贡献次数降序排序即可。

剩下的就是一些分类讨论的问题,就是根据边的数量和质因子个数的大小关系看是补 11 还是把大的乘起来。

∆ CF1430A Number of Apartments - AC

没有题解

∆ CF1430B Barrels - AC

没有题解

∆ CF1430C Numbers on Whiteboard - AC

没有题解

∆ CF1421A XORwice - AC

没有题解

∆ CF1421B Putting Bricks in the Wall - IP

没有题解

∆ BZOJ3727 PA2014 Final Zadanie - AC

推推式子啦。

Fu - node u’s fatherSu - the sum of persons in subtree(u)W - the sum of personsSu=vsubtree(u)AvBu=BFu+W2×Su2×Su=BFuBu+W2×SuW=BFuBu2×i=2nSi(n1)×W=i=2n(BFiBi)(n1)×W=i=2n(BFiBi)2×B1W=2×B1i=2n(BFiBi)n1Su=BFuBu+W2{ F_{u}\texttt{ - node u's father} \\ S_{u}\texttt{ - the sum of persons in subtree(u)} \\ W\texttt{ - the sum of persons} \\ S_{u}=\sum_{v\in\operatorname{subtree}(u)}A_{v} \\ \begin{aligned} B_{u}&=B_{F_{u}}+W-2\times S_{u} \\ 2\times S_{u}&=B_{F_{u}}-B_{u}+W \\ 2\times S_{u}-W&=B_{F_{u}}-B_{u} \\ 2\times\sum_{i=2}^{n}S_{i}-(n-1)\times W&=\sum_{i=2}^{n}(B_{F_{i}}-B_{i}) \\ -(n-1)\times W&=\sum_{i=2}^{n}(B_{F_{i}}-B_{i})-2\times B_{1} \\ W&=\frac{2\times B_{1}-\sum_{i=2}^{n}(B_{F_{i}}-B_{i})}{n-1} \\ S_{u}&=\frac{B_{F_{u}}-B_{u}+W}{2} \end{aligned} }

∆ BZOJ1965 AHOI2005 SHUFFLE - AC

发现一个位置 ll 经过一次变化后的位置是 2×lmod(n+1)2\times l\bmod (n+1),然后就求个逆元。

∆ CF739B Alyona and a tree - AC

反过来考虑,每个点能被哪些点控制,然后倍增、树上差分一下即可。

∆ BZOJ4919 Lydsy1706 大根堆 - AC

LIS\texttt{LIS} 上树。

暴力 DP\texttt{DP}fu,wf_{u,w} 表示当前在 subtree(u)\mathrm{subtree}(u),最大值小于等于 ww 的最大点数,然后用线段树合并优化转移即可。

∆ CF1416A k-Amazing Numbers - AC

可知 (ai=aj)\forall(a_{i}=a_{j}) 只有在 max{ji}k\max\{j-i\}\le k 的情况下才会产生贡献,然后用个答案数组继承贡献即可。

∆ P6835 Cnoi2020 线形生物 - AC

ExyE_{x\rightarrow y} 为从 xx 走到 yy 的期望步数,然后就推一下式子。

化简式子过程地址

∆ OJ10479 NOIP2017-SIM 轰炸 - AC

Desctiption

Tarjan\texttt{Tarjan} 缩点后跑最长路。

∆ OJ10480 CSP2020-SIM 玩游戏 - WA

Description

可知路径一定在 MST\texttt{MST} 上,于是就每次暴力重构然后用个 NIM\texttt{NIM} 博弈的定理倍增即可。

明天加油吧,凉风请把我脑子吹清醒点qwq。