随笔分类 - 数学 - 矩阵乘法
摘要:题目大意:给定一个长度为 N 的字符串,定义一个字串是“好的”,当且仅当字串中含有一个 “2017” 的子序列,且不含有 “2016” 的子序列。现给出 M 个询问,每次询问区间 [l, r] 内至少删去多少个字符才能使得该区间变成“好的”。 题解: 由于题目中要求的是子序列,且序列长度仅为 4,考
阅读全文
摘要:题目大意:给定一个 N 个点,M 条边的有向图,现有 Q 个询问,每次询问 X 到 Y 的最小密度路径是多少。最小密度路径的定义是路径长度除以路径边数。 题解:利用矩阵乘法,可以预处理出从 X 到 Y 恰好经过 K 条边的最短路是多少。对于每次询问,直接处理处理即可,时间复杂度为 $O(n^4)$。
阅读全文
摘要:代码如下 cpp include using namespace std; const int mod=1e9+7; typedef long long LL; int n; void mulself(int a[3][3],int b[3][3]){ int c[3][3]={0}; for(in
阅读全文
摘要:单位矩阵相当于普通乘法算术中的单位元。 代码如下 cpp include using namespace std; const int mod = 1e9 + 7; const int maxn = 110; typedef long long LL; struct matrix { LL mat[
阅读全文
摘要:题目大意:给定一个 N 个顶点,M 条边的无向图,求从起点到终点恰好经过 K 个点的最短路。 题解:设 $d[1][i][j]$ 表示恰好经过一条边 i,j 两点的最短路,那么有 $d[r+m][i][j]=min\{d[r][i][k]+d[m][k][j] \}$,等价于矩阵乘法。 这道题 K
阅读全文

浙公网安备 33010602011771号