2023.8.8 AT practise

ARC061E

首先有个套路的想法:以边作点,然后前后缀优化建图,但是这样是麻烦的。
我们重新考虑:
我们发现,如果把同一个公司的联通块处理一下,最短路径其实就是其经过联通块个数。
我们把在同一个联通块的点互相建边,权值为 \(1\)
但是这样是不优的,边数会被卡成 \(n^2\)
我们考虑对每个联通块建立虚点,对一个联通块中的点,向对应的虚点建 \(0.5\) 权值的边即可。

ARC061F

发现所有的牌的方案刚好对应一种出牌顺序。
于是我们只需处理出牌的序列即可。
\(A\) 获胜的条件是序列中含有 \(n_1\)\(a\),且最后一位是 \(a\).
而且不能含有 \(n_2+1,n_3+1\)\(b,c\).

我们枚举 \(k\),表示出牌序列有 \(k\)\(b,c\).
方案数是 \(\sum_{k-n2\le j \le n3}C(k,j)\),设其为 \(s(k)\).
\(s(k)=\sum_{k-n2\le j \le n3}C(k-1,j-1)+\sum_{k-n2\le j \le n3}C(k-1,j)\)
已知 \(s(k-1)=\sum_{k-n2-1\le j \le n3}C(k-1,j)\).
那么 \(s(k)=2 s(k-1)-C(k-1,k-n2-1)-C(k-1,n3)\).

那么答案是 \(\sum_{0\le k \le n2+n3}3^{n2-n3-k}\cdot C(n1-1+k,k)\cdot s(k)\).

posted @ 2023-08-08 21:55  s1monG  阅读(13)  评论(0编辑  收藏  举报