矩阵
L_0_Forever_LF
一个热爱OI的OIer
展开
-
BZOJ4000: [TJOI2015]棋盘 解题报告
题解Description 1<=N<=10^6,1<=M<=6吐槽真的不得不吐槽这个题意,本来看数据范围觉得是矩乘,突然发现维护2行矩阵时间吃不下,想不到去看题解结果woc题目里给的攻击范围的矩阵第一行是第0行,棋子自己的位置其实是矩阵的第2行题解知道题意里说的攻击范围的矩阵3×p3×p指的是00~22行后就没什么好说的了,矩乘 先按状压做,先处理一下状态之间的转移,然后矩乘一下code:原创 2016-10-10 20:23:40 · 541 阅读 · 0 评论 -
BZOJ1875: [SDOI2009]HH去散步
矩乘,因为不能走刚走过的边,所以矩阵里面的位置代表边,一个条边的两端开两个点放进矩阵里,这个点的值代表刚走过这条边走到这个点的方案数code#include<set> #include<map> #include<deque> #include<queue> #include<stack> #include<cmath> #include<ctime> #include<bitset> #inclu原创 2016-12-11 16:05:55 · 832 阅读 · 0 评论 -
BZOJ2323: [ZJOI2011]细胞
先不考虑分裂,T个小球体,连接有多少种方式 设f[i][0],f[i][1]表示i个小球体,第i个和前面的球体是否连边,连边的方案数 因为T很大,十进制下有1000位,所以我们需要矩乘,而且还要加速快速幂,所以我们可以预处理出转移矩阵A的A10,A100,A1000...A1e1000A^{10},A^{100},A^{1000}...A^{1e1000} 那么我们要求T个小球体有多少种连接方原创 2017-04-11 17:16:13 · 480 阅读 · 0 评论 -
BZOJ4330: JSOI2012 爱之项链
首先,要求有多少种不同的项链,需要先求出有多少种不同的戒指 m个彩色球状物,旋转后相同视为相同,R种颜色,是不是很眼熟(然而并不,为什么我看题的时候想的是可重复圆排...),没错这就是置换首先由burnside引理得种类数num=∑mi=1cimnum=\dfrac{\sum_{i=1}^mc_i}{m}(cic_i表示第i种置换下相同的方案数), 然后由polya得,num=∑mi=1Rgcd原创 2017-04-14 20:23:52 · 840 阅读 · 3 评论 -
BZOJ4386: [POI2015]Wycieczki
答案可能爆longlong,矩乘的时候<0直接返回边权只有3种,可以考虑拆点,使新图中只有边权为1的边 新建一个源S连向每个点,就可以求出路径长度为x-1的路径数量,连一条S->S的自环就可以求出<=x-1的数量,然后矩乘,a[x][y]表示x到y的长度<2^k的路径数量(注意去掉长度为0的路径 求答案本来要二分,但可以处理出矩阵的2^0,2^1,2^2..2^k次从高位向低位找有没有k种路径,原创 2017-10-02 10:31:01 · 365 阅读 · 0 评论 -
BZOJ3846: ZCC loves words
注意到模数5047621=179*173*163 拆成这3个质数算,EXCRT合并 建立AC自动机,在上面dp,套个矩乘 但是发现在i位置匹配一个长度为k的单词j,贡献是(i+k)*prime[j],对于不同的i贡献不同,又因为模数<200,最多只有100+种矩阵,处理出循环节就可以矩乘了code:#include<set> #include<map> #include<deque> #inc原创 2018-01-03 11:55:46 · 335 阅读 · 0 评论 -
BZOJ3328: PYXFIB
我们要求这个东西 ∑ni=0CinFi[i mod k=0]∑i=0nCniFi[i mod k=0]\sum_{i=0}^nC_n^iFi[i\ mod\ k=0] 先不考虑k|ik|ik|i这个条件,即只计算∑ni=0CinFi∑i=0nCniFi\sum_{i=0}^nC_n^iFi 设出Fib数列的转移矩阵AAA,那么FiFiFi就是AiAiA^...原创 2018-02-25 16:35:58 · 279 阅读 · 0 评论