logo

Matt Blog

春节

CP duels

2024-11-19 Views842字5 min read 置顶

CF1368E Ski Accidents

比较神的构造,被对手 10min 秒了。

看到 47\frac47outi2out_i\le2,然后就应该想到 47=2220+21+22\frac47=\frac{2^2}{2^0+2^1+2^2},尝试将 nn 划分为 33 个集合。感觉比较结论,所以直接说了。将 nn 划分成 33 个无交且并为全集的集合 A,B,CA,B,C,满足

aA,{ua,uC}\forall a\in A,\{\forall u \rarr a,u\in C\}

bB,{ub,uA},{ub,uB}\forall b\in B,\{\exist u \rarr b,u\in A\},\{\not\exist u\rarr b,u\in B\}

cC,{uc,uB}\forall c\in C,\{\exist u \rarr c,u\in B\}

分类讨论一下,不难发现 A,B,CA,B,C 交且并为全集。由于 bB,ab\forall b\in B,\exist a \rarr bB2A|B|\le2|A|,同理,B2C|B|\le2|C|,即 4A2BC4|A|\ge2|B|\ge|C|C47n|C|\le\frac47n。删除 CC 中的所有点后 AA 的入度都是 00BB 的出度都是 00,故最多只有 aba\rarr b 的边,满足条件。

因为是 DAG,分集合时可以做拓扑排序。复杂度线性。

CF1278F Cards

*2600

p=1m,q=1pp=\frac 1 m,q=1-p,则

ans=i=1n(ni)ikpiqnians=\sum_{i=1}^n \binom n i i^k p^i q^{n-i}

nn 非常大,又有 iki^k,所以套路地考虑用斯特林数和下降幂表示幂。

ans=i=1n(ni)ikpiqni=i=1n(ni)piqnij=1k\{kj\}ij=i=1n(ni)piqnij=1k\{kj\}(ij)j!=j=1k\{kj\}j!i=1n(ni)(ij)piqni=j=1k\{kj\}(nj)j!i=jn(njij)piqni=j=1k\{kj\}(nj)j!i=0nj(nji)pi+jqnij=j=1k\{kj\}(nj)j!pji=0nj(nji)piqnij=j=1k\{kj\}(nj)j!pj(p+q)nj=j=1k\{kj\}(nj)j!pj=j=1k\{kj\}njpjans=\sum_{i=1}^n \binom n i i^k p^i q^{n-i} \\ =\sum_{i=1}^n \binom n i p^i q^{n-i} \sum_{j=1}^k {k \brace j} i^{\underline j} \\ =\sum_{i=1}^n \binom n i p^i q^{n-i} \sum_{j=1}^k {k \brace j} \binom i j j! \\ =\sum_{j=1}^k {k \brace j}j!\sum_{i=1}^n \binom n i \binom i j p^i q^{n-i}\\ =\sum_{j=1}^k {k \brace j}\binom{n}{j}j!\sum_{i=\color{red}j}^n\binom{n-j}{i-j}p^iq^{n-i}\\ =\sum_{j=1}^k {k \brace j}\binom{n}{j}j!\sum_{i=\color{red}0}^{\color{red}n-j}\binom{n-j}{i}p^{i+j}q^{n-i-j}\\ =\sum_{j=1}^k {k \brace j}\binom{n}{j}j!p^j\sum_{i=\color{red}0}^{\color{red}n-j}\binom{n-j}{i}p^{i}q^{n-i-j}\\ =\sum_{j=1}^k {k \brace j}\binom{n}{j}j!p^j(p+q)^{n-j}\\ =\sum_{j=1}^k {k \brace j}\binom{n}{j}j!p^j\\ =\sum_{j=1}^k {k \brace j}n^{\underline j}p^j

预处理斯特林数后直接做,复杂度为 O(k2)O(k^2)

EOF