写在前面:
仍然没有知识点和板子题
轮状病毒
看起来好像是道板子题,但是没有模数便很难受
如果直接打高精需要高精加减乘除,而且还要维护正负
这个时候当然是果断打表啦
不难发现奇数项全部是平方数,偶数项加4也是
把它们开方后恰好就是一个递推序列:其中
$$f[1]=1,f[2]=3,f[i]=f[i-1]+f[i-2]$$
高精的工作便成了正数的加和乘
黑暗前的幻想乡
每个公司需要恰好一个工作,也就是说恰好0个公司没有工作
考虑容斥:
$2^n$枚举是否选择,用矩阵树求出方案数奇加偶减即可
最小生成树计数
首先明确两个最小生成树的性质:
1>在某张图的所以最小生成树中同一个边权的边数相同
2>它们构成的联通块也是相同的
证明是不可能的,这辈子不可能的
所以可以对于每个边权跑一遍矩阵树就行啦(其实搜索好打多了)
重建
前置知识:变元矩阵树定理
题目中要求:
$$ans=sumlimits_{S is a tree}prod_{iin{S}}E[i]prod_{i otin{S}}(1-E[i])$$
前面的乘积可以用变元矩阵树定理求出,然而后面的并不容易直接求得
考虑转化式子:
设
$$val=prod_{i=1}^{m}E[i]$$
那么便有:
$$ans=val*sumlimits_{S is a tree}prod_{iin{S}}frac{E[i]}{1-E[i]}$$
于是便可以同时维护啦
然而$E[i]$可能为$1$,所以需要把一定选的边用并查集维护并缩成一个点再跑矩阵树就可以了