线性代数
DOFYPXY
这个作者很懒,什么都没留下…
展开
-
[BZOJ2844]albus就是要第一个出场 高斯消元+线性基
网上写的题解都好简略啊。。。 假设n个数一共消出了k个线性基。n个数能xor的所有数一共有2^n个(不去重),k个基能xor出的数一共有2^k个(本身就没有重复)。所以xor的值域中每个数都出现了2^(n-k)次。为什么呢? 很简单啊,消的时候是不改变xor出的所有数的,消出k个后面其实还剩下(n-k)个0啊。。。每个数都可以xor上一些0,不就是2^(n-k)个吗?! 现在我们要求比q小的有原创 2017-04-10 22:06:43 · 458 阅读 · 0 评论 -
[BZOJ4870][SHOI2017]组合数问题 DP+矩阵快速幂
考虑这个式子的组合意义,表示从nk个物品中选取mod k=r个物品。递推式很显然咯,f[i][j]=f[i-1][j]+f[i-1][(j-1)%k]。矩阵快速幂加速一下就好了。 WA点:转移矩阵第i行是第j列和(j-1)%k列为一,所以第0行是第0列和k-1列,特别地,当k=1时,1*1矩阵中那个唯一的数应该是2,因为加了两次。 代码:#include<iostream>#include<c原创 2017-11-01 07:53:13 · 403 阅读 · 0 评论 -
[BZOJ2004]公交线路 DP+矩阵快速幂
设计状态F[i , S]为最快的车到了第i个站台,所有车的状态为S,S必须满足二进制首位为1,且共有K个1。其实S只用记录以i截至的P个站台即可。 DP方程即为F[i, S]=Sigma{F[i-1, S’]} (S’转移到S合法)。 转移合法定义为:首先S’和S合法,然后S’中去掉一个1,右移一位与S相同,形象地理解成让某的一辆车开到最前方,因为每次都是向前走了一步,所以方案没有重复。这也就原创 2017-04-21 08:53:38 · 606 阅读 · 0 评论 -
[LOJ2325][清华集训 2017]小Y和恐怖的奴隶主 矩阵乘法+奇技淫巧
首先发现状态之和每种体力值的奴隶主个数有关,计算一下发现状态数最多165,于是搞出转移矩阵,设fi,Sf_{i,S}表示i轮时状态为SS,之后的期望,numnum为奴隶主个数+1+1,转移就是fi,S=1num+∑s′→sfi+1,Sf_{i,S}=\frac{1}{num}+\sum_{s' \to s}f_{i+1,S}然后O(T1653logn)O(T165^3\log n)矩阵快速幂,不过原创 2018-01-18 20:34:15 · 1301 阅读 · 0 评论 -
[BZOJ4671]异或图 线性基+stirling反演
联通图计数一般都是容斥。。。 首先设F(M)F(M)为至少MM个联通块的图的个数,G(M)G(M)为恰好MM个联通块的图的个数,那么有: F(M)=∑i=MN{iM}G(i)F(M)=\sum_{i=M}^N\begin{Bmatrix}i\\M\end{Bmatrix}G(i) 根据stirling反演有: G(M)=∑i=MN(−1)i−M[iM]F(i)G(M)=\sum_{i=M}原创 2018-01-20 19:15:01 · 829 阅读 · 0 评论