
矩阵乘法
文章平均质量分 57
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 2875 NOI2012 随机数生成器 矩阵乘法
题目大意:令Xi+1=(a*Xi+c)%m,求Xn%g水题。。。我们令x矩阵为a 0c 1自乘n次,然后计算(aX0+c)%m%g即可此题要写快速乘 不然会挂 我这个沙茶居然把矩阵开成了int 早知道多磕点脑残片了#include#include#include#includeusing namespace std;typedef unsigned long lo原创 2014-09-15 17:52:41 · 1974 阅读 · 0 评论 -
BZOJ 4778 Usaco2017 Open COWBASIC 矩阵乘法
题目大意:自己看= =容易发现所有的变换都是线性变换,用矩乘模拟循环那个用个栈来模拟嵌套关系就行了#include <map>#include <string>#include <cstdio>#include <cstring>#include <sstream>#include <iostream>#include <algorithm>#define M 110#define原创 2017-03-24 15:23:41 · 1366 阅读 · 0 评论 -
BZOJ 4162 shlw loves matrix II 拉格朗日插值+Cayley-Hamilton定理
题目大意:给定一个n∗nn*n的矩阵AA,求Ak mod 1000000007A^k\ mod\ 1000000007 n≤50,k≤210000n\leq50,k\leq2^{10000}首先先介绍一下特征值的相关内容……对于矩阵AA,若存在常数λ\lambda以及非零列向量xx,使得Ax=λxAx=\lambda x,则称λ\lambda为矩阵AA的一个特征值,xx为矩阵AA的一个特征向量。A原创 2016-10-16 01:11:54 · 2688 阅读 · 3 评论 -
BZOJ 1494 NOI2007 生成树计数 状压DP+矩阵乘法
题目大意:给定n(n≤1015)n(n\leq 10^{15})个点,编号差不超过k(k≤5)k(k\leq 5)的点之间有连边,问生成树个数 将kk个点的连通性用最小表示法压成状态,那么最多有5252种状态 计算出每个状态的生成树个数,作为初始行向量AA 对于每种状态考虑新加入一个点并向这kk个点连边,每种连法可以转移到哪些状态,得到转移矩阵BB 那么答案就是A∗Bn[A*B^n[所有点都原创 2015-09-16 19:54:03 · 2363 阅读 · 0 评论 -
BZOJ 2553 BeiJing2011 禁忌 AC自动机+矩阵乘法
题目大意:给定n个模式串,定义一个字符串的伤害为所有子串的划分中最多包含的模式串数量,求长度为len的字符串的伤害期望值小五prpr,恋恋prpr,二小姐prpr首先建立AC自动机 令f[i][j]表示长度为i的字符串在AC自动机上的第j个节点的伤害期望值如果要走到某个节点是危险节点或者fail指针指向危险节点,就ans++,然后回到根节点这样构造出来的矩阵做快速幂= = 这么做都原创 2015-01-12 23:03:09 · 1438 阅读 · 0 评论 -
BZOJ 1409 Password 矩阵乘法+线性筛
题目大意:求p^F[n] mod q 其中F是斐波那契数列,p是质数,q由于pq互质因此可以套用欧拉定理然后就是矩乘求斐波那契的事情了- -垃圾题卡O(√q) 求Phi的时候要枚举质数 不能一个一个枚举#include #include #include #include using namespace std;const long long empty[2][2]={{原创 2015-03-06 17:44:30 · 1624 阅读 · 2 评论 -
BZOJ 3610 Heoi2014 林中路径 矩阵乘法
题目大意:给定一张有向图,多次询问从S到T经过不超过K条边的所有路径的长度的平方和首先这题一点也不麻烦现有一带权整数集合S我们令一个矩阵F_S表示从第i个点到第j个点,经过k条边(k∈S)的所有路径长度的平方和令矩阵G_S表示从第i个点到第j个点,经过k条边(k∈S)的所有路径长度之和令矩阵H_S表示从第i个点到第j个点,经过k条边(k∈S)的路径条数原创 2015-03-03 12:03:09 · 2593 阅读 · 0 评论 -
BZOJ 1444 JSOI2009 有趣的游戏 AC自动机+矩阵乘法
题目大意:给定n个长度为l的模式串,现在要用前m个大写字母生成一个随机串,每个字符有自己的出现几率,第一次出现的字符串获胜,求最终每个字符串的获胜几率建出AC自动机,搞出转移矩阵如果某个节点是模式串那么这个节点只向自己连一条概率为1的出边然后把转移矩阵自乘50遍即可#include #include #include #include #define M 120using原创 2015-02-04 13:50:22 · 2376 阅读 · 0 评论 -
BZOJ 2476 战场的数目 矩阵乘法
题目大意:令战场定义为可以从中间某个点向两边单调不增且不是一个长方形的柱子的序列,求周长为p的柱子有多少个令f[n]为周长为2n的战场数 不考虑【不是长方形】这个条件如果一个战场左右都没有高度为1的柱子,则方案数等价于将最下方一排砍掉的方案数 即f[n-1]如果一个战场左侧或右侧有一个高度为1的柱子,则方案数等价于砍掉这个高度为1的柱子的方案数 即2*f[n-1]但是如果一个战场左原创 2015-01-08 19:30:21 · 1716 阅读 · 0 评论 -
BZOJ 2326 HNOI2011 数学作业 矩阵乘法
题目大意:求1234567891011121314...n mod m 的值设F(n)=1234567891011121314...n 那么显然有F(n)=F(n-1)*(floor(lgn)+1)+n于是我们可以矩乘将数字按照floor(lgn)+1分类构造状态矩阵F(n) n+1 1 初值为0 1 11~9的转移矩阵为10 0 01 1 00 1 1原创 2014-12-18 19:00:18 · 1386 阅读 · 0 评论 -
BZOJ 1297 SCOI2009 迷路 矩阵乘法
题目大意:给定一个邻接矩阵,求1~n的边权恰好为T的路径条数考虑当所有边权都是1的时候 那么显然邻接矩阵自乘T次之后a[1][n]就是答案因为当边权为1的时候a[i][j]可以表示从第i个点转移到第j个点的方案数 显然这个符合矩乘的定义现在边权最大为9 那么将一个点拆成9个 第i个点拆成的第j+1个点向第j个点连一条边权为1的边那么i->j有一条边权为k的边等价于i向j拆成的第k个原创 2014-12-16 20:03:40 · 2329 阅读 · 0 评论 -
BZOJ 3329 Xorequ 数位DP+矩阵乘法
题目大意:给定n,求[1,n]以内以及[1,2^n]以内有多少x满足x^3x=2xx^3x=2x等价于x^2x = 3x而3x=x+2x 且2x=x故x满足条件当且仅当x&(x故x的二进制拆分中任意两个1不相邻令f[i]为i位数中最高位为0的满足条件的数的数量g[i]为i位数中最高位为1的满足条件的数的数量则显然有f[i+1]=f[i]+g[i]g[i+1]原创 2014-12-16 19:23:14 · 1536 阅读 · 0 评论 -
BZOJ 1009 HNOI2008 GT考试 KMP算法+矩阵乘法
题目大意:给定长度为m的数字串s,求不包含子串s的长度为n的数字串的数量n我们不考虑这个 令f[i][j]为长度为i的数字串中最后j位与s中的前j位匹配的方案数比如当s为12312时 f[i][3]表示长度为i,以123结尾且不包含子串”12312“的方案数a[x][y]为f[i-1][x]转移至f[i][y]的方案数换句话说(可能描述不清楚) a[x][y]为s的长度为x的前原创 2014-10-17 17:17:31 · 2649 阅读 · 3 评论 -
Shoi2017(六省联考)Day1题解
终于发现自己是真残了(我这句话都说了几遍了QAQ)T1:容易发现答案只与最后一科出成绩的时间有关,枚举这个时间,然后按顺序维护代价就行了。 BZ上的数据范围不对,不过影响不大,但是有一个特别坑比的点是C=1016C=10^{16},为了这个SB点卡了俩小时气都气死了#include <cstdio>#include <cstring>#include <iostream>#include <原创 2017-04-25 18:25:32 · 3029 阅读 · 5 评论