ACM_快速矩阵幂
文章平均质量分 83
逍遥丶綦
这个作者很懒,什么都没留下…
展开
-
AC自动机+快速矩阵幂 poj2778 DNA Sequence
传送门:点击打开链接题意:DNA只有AGCT四种脱氧核糖核苷酸组成,现在告诉你n条致病基因序列,,问长度为m的DNA序列里不含任何的致病基因的种类数是多少。思路:这题可谓是AC自动机的经典神题。。如果只是简单的认为AC自动机只不过是在文中匹配字符串那就打错特错了,它还可以用来压缩状态~这题我们先构想一下动态规划。如果我们没学过AC自动机,,现在假如致病基因的长度都为3.我们可能会这原创 2015-10-23 12:18:27 · 775 阅读 · 0 评论 -
矩阵快速幂+map 雷神之路 scu dp练习A题
传送门:点击打开链接题意:刚开始在位置0,只允许向右走,可以走1步,2步或3步,路上有地雷,不能踩(m 思路:很明显要用矩阵快速幂来加速计算dp。我们假如知道了位置pos[i]有一个雷,那么我们就要算出dp[pos[i]-1]和dp[pos[i]-2]的值,并让dp[pos[i]]=0对于下一个雷,我们就直接从这里开始用矩阵快速幂算到下一个雷的位置。因为里面的情况比较多,我们可原创 2016-05-18 21:21:21 · 517 阅读 · 0 评论 -
AC自动机+矩阵快速幂变形 CCF201509-5 最佳文章
传送门:点击打开链接题意: 大概就是告诉你一个字典,字典里字母总个数不超过100,要构造一个长度为m(思路:看数据大小,再根据做题的经验,很容易就想到AC自动机来优化状态,再用矩阵快速幂来优化dp,但是这题很特别。我们先把dp写出来dp[i][j]=max(dp[i-1][j可能的上一个状态])+End[j]i是长度,j是在AC自动机中的节点但是,我们能发现,一般的矩阵快速原创 2016-03-21 21:37:30 · 3554 阅读 · 5 评论 -
快速矩阵幂 Codeforces621E Wet Shark and Blocks
传送门:点击打开链接题意:一个块中有n个数字,一共有b个块,每个块里的n个数字一模一样,现在在每个块中选一个数字,然后首尾串成一个大整数,把这个整数取模x,问有多少种情况最后的结果恰好等于k思路:如果不考虑b的大小,我们能想到数位dp,dp[k][(i*10+j)%x]+=dp[k-1][i]*num[j] (1但是我们发现,b实在是太大了,但是线性递推都是能用快速矩阵幂来搞的,这个原创 2016-02-01 17:12:54 · 1148 阅读 · 0 评论 -
快速矩阵幂 Gym100827F Knights
传送门:点击打开链接题意:在M*N的棋盘里放象棋中的马,使得马之间互不攻击,问种类数, M思路:很明显是快速矩阵幂,问题是如何构造矩阵。我的想法是保存两行的状态,状态的个数是 2^(2*m),然后构造出来的矩阵大小是2^(2*m)*2^(2*m)最后的总复杂度是 O(2^(6*m)*logn),这个复杂度也是巨大了,吓得我差点不敢写,,不过好在秒数很大。。关于矩阵的构造,就是一原创 2016-01-21 22:03:23 · 828 阅读 · 0 评论 -
快速矩阵幂 csu1597 薛XX后代的IQ
裸快速矩阵的题,,主要来模板测试说下这个模板用法,下标都是从0开始Mat(行数,列数,填充矩阵(可填))mat_mul(A,B)矩阵乘法mat_pow(A,b)快速矩阵幂this->S存放矩阵的数组#include#include#include#include#include#include#includeusing namespace s原创 2015-07-23 10:56:36 · 1631 阅读 · 0 评论 -
快速矩阵幂 hihoCoder1162 骨牌覆盖问题·三
相对于前两题,,前两题的矩阵可以手动构造出来,但是这题的矩阵就必须要自己完成了,因为实在是太大了但是这个矩阵构造的方法,实在是巧妙~也是轮廓线dp的一个基础按照它上面的提示,那个DFS就是枚举出所有的情况让我们再回头看看我们上一期提示里面放置骨牌的约定:假设我们正在放置第i行的骨牌,那么会有下面3种方式:灰色表示已经有的骨牌,绿色表示新放置的骨牌。原创 2015-07-30 00:31:42 · 1233 阅读 · 0 评论 -
快速矩阵幂+DFS构造矩阵+大数 ACdream1214 Nice Patterns Strike Back
传送门:点击打开链接题意:告诉你矩阵大小是n*m,要求矩阵中不能有2*2的白色子矩阵或者黑色子矩阵,最后种类数模P思路:如果不是大数,这道题还是非常有意思的。。对于专门卡C++的题目也是醉了...因为n太大了,而m最大也只有5,很明显是大数上的快速矩阵幂。问题是如何构造出矩阵出来,之前做过骨牌的题目,就是利用DFS来构造的,感觉这道题在思路上是一样的,同样也是利用DFS先构造出矩阵原创 2015-08-25 19:20:40 · 1108 阅读 · 0 评论 -
DFS矩阵构造+快速矩阵幂 hdu5434 Peace small elephant
传送门:点击打开链接题意:摆放小象,使得所有棋子的攻击范围的位置都是空白思路:m这么小n这么大很明显是在提示你要用快速幂,问题就在于如何构造矩阵了,然而这题看似矩阵太复杂了,别说的云里雾里,但是仔细一分析,,就是发现并没有那么难..我们把m看作棋盘的列数,n看作棋盘的行数,下面我们只考虑两行棋子那么对于相邻两行的同一列的两个位置,现在我们考虑这两个位置可以怎么放。1.如原创 2015-09-12 22:30:36 · 1050 阅读 · 0 评论 -
线段树+矩阵快速幂 codeforces718C Sasha and Array
传送门:点击打开链接题意:操作1,区间[l,r]的数字+x操作2,求sigma f(i),l答案取模1e9+7首先斐波那契数列用矩阵快速幂求,谁都会的。这里有一个矩阵乘法的性质,A*B+A*C=A*(B+C)有了这个性质,这题就非常傻逼了。在求斐波那契数列中,是A*F,A是变换矩阵,F是列矩阵那么我们用线段树的懒惰标记维护A矩阵,然后用sum维护F矩阵之后在线段原创 2016-09-24 09:55:04 · 1746 阅读 · 0 评论