AGC030D
AGC030D
过于厉害,会利用到一点期望
考虑\(n^2\)dp,由于状态就只有逆序对好记,\(dp_{i,j}\)表示前i个操作,形成j个逆序对的方案数。
问题是怎么转移,逆序对+在线容易想到用主席树。但是方案数太多,记下就成状压了。
考虑才贡献,对于每对下表考虑,记\(f_{i,j}\)表示\(A_i>A_j\)方案数
如果交换u,v。如果i,j至少一个是u,v的其中之一,那么
- \(f_{u,i}=f_{v,i}+f_{u,i}\),由于有换,不换.v同理
- \(f_{i,u}=f_{i,u}+f_{i,v}\),由于有换,不换
- \(f_{u,v}=f_{u,v}+f_{v,u}\)
如果i,j不是其中之一,那么都乘上2.
那肯定炸翻啊,所以考虑将操作整体/2。
那么推出一个经典技巧:计数转期望
使用条件
- 方案总数容易计算
- 所有方案可以视为等概率
- 目标统计量能拆成局部贡献
- 单个局部事件的概率容易求或容易维护
本质其实就是利用期望强大的线性性
具体的,将上面的操作改成乘上1/2即可
注意最后要成上\(2^q\)
时间复杂度\(O(nq)\)
小结:期望在计数题方面的应用

浙公网安备 33010602011771号