矩阵快速幂。 首先得到公式 然后构造矩阵,用矩阵加速 取模函数需要自己写一下,是数论中的取模。 #include<cstdio> #include<cstring> #include<cmath> #include<vector> #include<algorithm> using namespac
分类:
其他好文 时间:
2016-02-29 21:41:08
阅读次数:
200
/* 数位DP题,设dp[n][k][j]为前n位最后一位是k时mod为j的个数。操作都相同,可以使用矩阵加速。本来对于每一位是7*10,可以把它压向一个向量。加速矩阵为70*70,再加一维计算前缀和即可。*/#include #include #include #include #define ....
分类:
其他好文 时间:
2015-11-20 21:40:43
阅读次数:
156
解题思路:分析需要不少时间,比较懒,直接把别人的分析贴在这里, 然后贴上自己写的代码:K相当之大。所以逐一递推的算法无法胜任。这时我们就不得不运用矩阵加速。首先来讲一下矩阵乘法:若一矩阵的列数与另一矩阵的行数相等,则可定义这两个矩阵的乘积。如 A 是 m×n 矩阵和 B 是 n×p矩阵,它们是乘积....
分类:
其他好文 时间:
2015-11-07 21:56:19
阅读次数:
239
A题。发现是递推可以解决这道题,a[n]=6*a[n-1]-a[n-2]。因为是求和,可以通过一个三维矩阵加速整个计算过程,主要是预处理出2^k时的矩阵,可以通过这道题 1 #include 2 #include 3 #include 4 #include 5 #define LL long...
分类:
其他好文 时间:
2015-10-16 20:50:48
阅读次数:
315
题意:给一个有向图,从任意点开始,最多走m步,求形成的图案总数。思路:令dp[i][j]表示走j步最后到达i的方法数,则dp[i][j]=∑dp[k][j-1],其中k表示可以直接到达i的点,答案=∑dp[i][j]。关键在于如何减少状态转移的时间,考虑用矩阵加速。构造矩阵:D =,其中a[i][j...
分类:
其他好文 时间:
2015-08-21 06:59:49
阅读次数:
268
传送门:BZOJ1009KMP构造转移矩阵,矩阵加速DP。
以后题解都会简单一些。/**************************************************************
Problem: 1009
User: Jerusalem
Language: C++
Result: Accepted
Time:56 ms...
分类:
其他好文 时间:
2015-08-17 21:55:28
阅读次数:
161
题目链接:DNA Sequence
解析:AC自动机 + 矩阵加速(快速幂)。
这个时候AC自动机 的一种状态转移图的思路就很透彻了,AC自动机就是可以确定状态的转移。
AC代码:
#include
#include
#include
#include
using namespace std;
const int MOD = 100000;
str...
分类:
其他好文 时间:
2015-08-09 18:49:20
阅读次数:
120
hihocoder #1143 : 骨牌覆盖问题·一时间限制:10000ms单点时限:1000ms内存限制:256MB描述 骨牌,一种古老的玩具。今天我们要研究的是骨牌的覆盖问题:我们有一个2xN的长条形棋盘,然后用1x2的骨牌去覆盖整个棋盘。对于这个棋盘,一共有多少种不同的覆盖方法呢?举个例子,对...
分类:
其他好文 时间:
2015-07-28 22:44:44
阅读次数:
121
Problem E.GukiZ and GukiZianaSolution 一位一位考虑,就是求一个二进制序列有连续的1的种类数和没有连续的1的种类数。 没有连续的1的二进制序列的数目满足f[i]=f[i-1]+f[i-2],恰好是斐波那契数列。 数据范围在10^18,用矩阵加速计算,有连续...
分类:
其他好文 时间:
2015-06-15 18:29:18
阅读次数:
256
1.矩阵快速幂,用倍增来加速(O(n^3*logk))
2.矩阵求解递推关系第n项(n很大)可以构造矩阵,用矩阵快速幂迅速求出。
3.给定起点和终点求从起点到终点恰好进过k步的方案数可以直接对可达矩阵相乘k次得到结果
4.矩阵乘法的顺序对时间影响比较大(提高Cache命中率),kij最快而且还可以进行稀疏矩阵加速(当a[i][k]为0时没必要进行运算)。
因为最近在搞矩阵,所以准备写一个矩...
分类:
其他好文 时间:
2015-05-28 02:01:42
阅读次数:
324