DP/KMP/矩阵乘法 好神的题啊……跪了跪了 $n\leq 10^9$是什么鬼……我们还是先不要考虑这个鬼畜的玩意了>_> 用类似数位DP的思路,我们可以想到一个DP方程:$f[i][j]$表示前 i 位数字,它的最后 j 位与不吉利串匹配的方案数,显然有$ans=\sum_{i=0}^x ...
分类:
其他好文 时间:
2015-04-09 23:29:42
阅读次数:
216
问题描述
输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。
输入格式
第一行,空格隔开的三个正整数m,s,n(均不超过200)。
接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。
接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。
输出格式
m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。
...
分类:
其他好文 时间:
2015-04-05 22:00:09
阅读次数:
255
描述
分析
如果用 f[i] 表示 i 时 Concatenate(1 .. i) Mod M 的值, 如果 i 是个 k 位数, 则 f[i+1] = f[i] * (10^k) + i+1, (i != 10^k-1)所以可以建立一个按 i 的位数分段的动态规划解法 -> f[n]n ≤ 10^18, 所以要用矩阵乘法优化然后就是矩阵的选取了, 我首先考虑的 2×2...
分类:
其他好文 时间:
2015-04-01 22:09:05
阅读次数:
164
描述
无向图边长均为1, 求从给定地点A走到给定地点B共有多少条长度为 t 的路径(不能连续走重复的边). 模45989.
分析
f[i][k] : 当走到边 i 的终点的时候路径长度为 j 的方案数量f[i][k] : 可以由 f[j][k-1] 转移来的条件是边 j 的终点是i的起点那么就可以构造矩阵来解了...不用矩阵是不是也能解?
代码
{CS...
分类:
其他好文 时间:
2015-04-01 20:06:15
阅读次数:
130
DescriptionHH有个一成不变的习惯,喜欢饭后百步走。所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离。 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回。 又因为HH是个喜欢变化的人,所以他每天走过的路径都不完全一样,他想知道他究竟有多 少种散步的方法。 现在给...
分类:
其他好文 时间:
2015-03-31 19:34:06
阅读次数:
106
1.矩阵乘法输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。输入格式 第一行,空格隔开的三个正整数m,s,n(均不超过200)。 接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。 接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。输出格式 m行,每行n个空格...
分类:
编程语言 时间:
2015-03-31 17:18:51
阅读次数:
625
题目描述:有若干个矩阵{Ai},元素都为整数且已知矩阵大小。如果要计算所有矩阵的乘积A1 * A2 * A3 .. Am,最少要多少次整数乘法?输入第一行一个整数n(n #include#includeusing namespace std;const int MAX=10000;int m[101...
分类:
其他好文 时间:
2015-03-31 00:49:07
阅读次数:
151
CUDA中使用shared_memory可以加速运算,在矩阵乘法中是一个体现。矩阵C = A * B,正常运算时我们运用 C[i,j] = A[i,:] * B[:,j] 可以计算出结果。但是在CPU上完成这个运算我们需要大量的时间,设A[m,n],B[n,k],那么C矩阵为m*k,总体,我们需要做...
分类:
其他好文 时间:
2015-03-20 23:27:59
阅读次数:
343
【思路】:注意0次幂是单位矩阵。
【AC代码】:
#include
#include
#include
#include
#include
using namespace std;
#define MAX 30+2
void cal(int m[MAX][MAX], int t[MAX][MAX], int r[MAX][MAX], int N)
{
int i = 0, j ...
分类:
编程语言 时间:
2015-03-20 00:00:06
阅读次数:
382