![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学-矩阵乘法
Endless_Way
这个作者很懒,什么都没留下…
展开
-
BZOJ 2326 [HNOI2011]数学作业
分段递推+矩阵乘法根据模运算的分配律,i表示连接到第几个数,有递推式:f[i]= f[i-1]*(10^log(i))+i mod M构造矩阵进行加速{f[i-1],i-1,1} * { 10^log(i) ,, 0 ,, 0 } { 1 ,,,,,,,,,,,,,,,,,, 1 ,, 0 } { 0 ,,,,,,,,,,,,,,,,,, 1 ,, 1 } (空格没法对齐,强行用逗号对齐)原创 2016-09-25 14:33:54 · 243 阅读 · 0 评论 -
POJ 2778 DNA Sequence
刚开始学习AC自动机,就碰到这样一道题- -,揣摩了好一会儿才弄清楚题解的意思orz题目要求找出由A,C,T,G构成的长度为n,且不包含给出的子串的字符串数量。先建trie树。发现如果对答案串进行AC自动机处理,处理过程中的指针一定不会碰到给出的子串的末节点。用一个矩阵mat[i][j],记下从i节点转移一次到达j节点的方案数。使不能到达的节点,即给出的子串的末节点不统计进mat矩阵。那么最终答案就原创 2016-08-04 17:46:55 · 243 阅读 · 0 评论 -
BZOJ 2553 [BeiJing2011]禁忌
AC自动机+矩阵快速幂刚开始是想记f表示走到这的概率,g表示走到这的期望答案。写了一下狂WA不止,估计是计算量太大掉精度了?然后发现g实际上没有什么用。#include<cstdio> #include<cstring> #define S 28 #define L 20 #define N 150 using namespace std; namespace runzhe2000 { ty原创 2017-03-27 15:45:03 · 349 阅读 · 0 评论 -
BZOJ 4540 [Hnoi2016]序列
线段树+矩阵我来发一篇博客证明我还活着题目要求的区间所有子区间的最小值之和不太容易合并,因此直接上数据结构不好做。考虑离线做法。把所有询问右端点排序。从左到右扫描整个序列,扫描到ii时维护所有1≤j≤i1\le j\le i的区间[j,i][j,i]的答案。那每做完一个ii只要抓出当前询问的区间查询即可。如何随着ii右移,动态地维护前缀所有区间的答案?新加一个ii进来的时候,只会增加右端点在ii的子原创 2017-06-20 13:55:39 · 338 阅读 · 0 评论