小学奥数容斥
如果有:
[f(m)=sum_{i=m}^{n}inom{i}{m} imes g(i)
]
那么:
[sum_{i=1}^{n}g(i)=f(1)-f(2)+f(3)-f(4)+...=sum_{i=1}^{n}(-1)^{i+1} imes f(i)
]
适用于DP数组需要使用(sum_{i=1}^{n}g(i))推出,并且可以快速计算(f(n))的情况(通常(f(0),g(0))不存在/无意义)。
证明方法:二项式反演
图计数的一些不知道有用没用的套路
如果要求图连通,可以通过容斥弱化限制条件,所有方案的减去不连通的方案,通过枚举编号最小的点所在连通块的大小以保证不会重复计算。
如果要求是DAG,因为DAG上必然存在入度为(0)的点,所以可以枚举度数为(0)的点的个数,然后让这些点向其他点连边。但是其他点中也有可能存在度数为(0)的点,所以还要用上面写的小学奥数容斥处理一下。
未完待续......