Coin
每个硬币的贡献是独立的,记搜实现 (dp) 可以求出来每个硬币买多少个的贡献
主式为 (f_{id,j,k}=f_{id,j-1,k-1} imes p_{id,j}+(1-p_{id,j}) imes f_{id,j-1,k})
感性理解一下发现买越多硬币每新买的一个贡献是单调下降的
考虑用堆维护所有的数,每次弹增量最大的扩展即可
B
矩阵树定理新套路
考虑把每个未加入的边设成 (x),加入的边权为 (i),那么求出来行列式的值前 (k) 项的系数和就是答案
多项式不好消元,但是最高次也只有 (n),那么把多项式用方程组解出来
或者求 (n) 组点值插 (k) 个
新套路挺厉害的
battery
考虑每个空地只能被两个炮台射到,那么对于每个炮台 (dfs) 当前方向可以射到的空地
如果会射到另一个炮台就不考虑这部分
那么每个炮台只有两个状态,这很 (2-sat)
那么每个炮台自己和另一个状态连边,对于每个空地,连逆否命题的边
哪个拓扑序大就是那个