
矩阵乘法
Lynstery
一只蒟蒻
展开
-
[矩阵乘法+KMP] BZOJ1009: [HNOI2008]GT考试
题意阿申准备报名参加GT考试,准考证号为N位数X1X2….Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字。 他的不吉利数学A1A2…Am(0<=Ai<=9)有M位,不出现是指X1X2…Xn中没有恰好一段等于A1A2…Am。可以有前导0。 求不出现不吉利的数字的方案数。 N<=1e+9 M<=20题解考虑到之前求方案数比较难求,肯定需要递推求解。 注意到在准考证号中找不吉利数字有原创 2017-02-20 19:57:07 · 866 阅读 · 0 评论 -
[循环卷积 || 循环矩阵] HHHOJ #120. 随
首先推一下式子,变成求 1nm∑(ak1ak2..akm mod P)=1nm∑kk∑[ak1ak2..akm mod P==k]\frac{1}{n^m}\sum(a_{k_1}a_{k_2}..a_{k_m} \text{ mod } P)=\frac{1}{n^m}\sum_{k} k\sum[a_{k_1}a_{k_2}..a_{k_m} \text{ mod } P==k] 注意模 P原创 2017-11-08 16:03:08 · 1304 阅读 · 0 评论 -
[表达式求值 矩阵乘法] ZROI 2017提高10A. Calc
神思路,第一次见到这种操作… 构造矩阵来进行状态的转移。 A+B∗CA+B*C ,我们记3元组 (S,M,T)(S,M,T) 表示当前状态,其中S=A, M=B, T=B∗CS=A,\ M=B,\ T=B*C。 这样记录,每多一个字符,转移可以表示成乘上一个矩阵。 数字 kk : (S,M,T)→(S,M,T∗10+M∗k)(S,M,T) \to (S,M,T*10+M*k) ++ : (原创 2017-11-04 16:18:38 · 548 阅读 · 1 评论 -
[矩阵乘法] LOJ#2002. 「SDOI2017」序列计数
注意到 pp 很小,容易想到矩乘。fi→f(i+j)%Pf_i \to f_{(i+j)\text{%}P}。 关于那个质数的限制,只需要 11 到 mm的方案 减去 11 到 mm 扣去所有质数的方案即可。 构造 11 到 mm 转移矩阵 P2P^2 搞。扣去质数直接暴力 O(m/lnm∗P)O(m/\ln m*P)。#include<cstdio>#include<cstring>#in原创 2017-12-02 11:02:36 · 477 阅读 · 0 评论 -
[矩阵乘法] BZOJ2326: [HNOI2011]数学作业
我们一个一个接上,应该是 res=res∗10t(i)+ires=res*10^{t(i)}+i 这样的形式,其中t(i)t(i) 表示 ii 的位数。 怎么样快速算呢,看成递推式:f(i)=f(i−1)∗10t(i)+if(i)=f(i-1)*10^{t(i)}+i 。显然可以用矩乘加速。位数相同的一起搞就行了。#include<cstdio>#include<cstring>#includ原创 2017-11-26 16:27:17 · 423 阅读 · 0 评论