CF 杂记

或许CF比AT要可做一些吧

“*” 表示看题解。“(*)” 表示大多是自己想出来的。


*CF1774F1 Magician and Pigs (Easy Version)
rnm怎么全网都是一个做法。

你考虑到可以先建一棵主席树,一个复制就相当于是多出了原来数列每一项减去了一个定值。那么你妈的伪了。

考虑如果有减操作,且前面有数最后还活着,那么后面只会有不超过 \(\log V\) 次复制。


*CF850F Rainbow Balls
毫无头绪。


CF1775F Laboratory on Pluto
先来看什么时候会最优。可以想到答案为 \(2(a+b)\)\(a\) 为长,\(b\) 为宽)。合法的条件为 \(ab\geqslant n\)。所以正方形最优,\(a=\lceil \sqrt n \rceil\)

等等,好像不一定正方形最优。有时 \(n\times(n-1)\) 优于 \(n\times n\),反正大概枚举一下就行了。

于是 \(u=1\) 便解决了。方案的话枚举所有的长宽是 \(\mathcal {O}(\sqrt n)\) 级别的。考虑四个角损失的总量为 \(ab-n\),也是 \(\sqrt n\) 级别的。由于此时周长最小,肯定不会出现挖去某几个角就少了一行或一列的情况,所以直接卷起来即可。

具体地对于某个角,空行/空列的大小肯定是单调递减的,用一个简单 dp 预处理即可。

时间复杂度:\(\mathcal {O}(n\sqrt n)\)。跑不满。


CF1768E Partial Sorting
感觉交换次数不会超过三次,简单云一下发现确实如此。

交换次数为 \(0\) 次的方案数为 \(1\)

交换次数为 \(1\) 次的方案数为 \(2*((2n)!-1)\)

交换次数为 \(2\) 次的方案数为 \(\sum_{i=0}^n\binom n i\)

咕咕咕。。。


*CF1786F Wonderful Jump
这个题好牛逼。

首先有一个思路是笛卡尔树或者cdq什么的搞一下,但是好像都行不通。

先把暴力dp写出来吧:\(dp_j=\min\{dp_i+\min\{a_i,a_{i+1},...,a_j\}*(j-i)^2\}\)

好像也没有决策单调性(不满足四边形不等式?)

考虑如果从 \(i\) 转移到 \(j\)\(\min\{a_i,a_{i+1},...,a_j\}*(j-i)^2\leqslant n(j-i)\)。(因为 \(a\) 数组的值域是 \(n\)

\(\min\{a_i,a_{i+1},...,a_j\}\leqslant \frac {n} {j-i}\)

这个除以 \(j-i\) 使我们想到根分。

\(j-i\leqslant \sqrt n\) 时,暴力转移即可。

\(j-i>\sqrt n\) 时,有一个引理:若 \(j\rightarrow i\),则 \(\min\{j\rightarrow i\}=a_j\ \mathrm {or}\ a_i\)。当 \(\min\)\(a_j\) 时,像前面枚举即可。当 \(\min\)\(a_i\) 时,主动向后面转移即可。

注意要向后面转移,所以循环从 \(1\) 开始。


(*)CF1731F Function Sum
注意这是随便取求方案数,所以可以每一个位置独立计算贡献。

你不妨就多枚举点东西

\(\sum_{num=1}^n\sum_{i=0}^{num-1}\sum_{j=0}^{n-num}[i<j]\binom {num-1} {i}\binom {n-num} {j}\sum_{val=1}^k(val-1)^i(k-val)^j(k-val+1)^{num-1-i}val^{n-num-j}\)

由于 \(k\) 很大,前三个 \(\sum\) 直接枚举,最后那个插值即可。时间复杂度:\(\mathcal {O}(n^4\log n)\)


posted @ 2023-01-17 22:07  Saintex  阅读(44)  评论(1编辑  收藏  举报