
快速幂
goto_1600
我何来寂寞,哪有寂寞可言。
展开
-
路痴是不可能路痴的,这辈子都不可能路痴的。(可达矩阵 快速幂 拆点)
题意 : 给定一个带权有向图 问从1到n的路径中恰好为w的方案数。思路: 拆点 由于边权<=9 那么我们拆成9个点, 记得将每相邻的两个点从前面一个点连向后一个点,都边权为k的时候 将第k个点连向对应的点,然后矩阵快速幂。ac代码:#include<bits/stdc++.h>using namespace std;const int N=110;const int mod=2009;int g[N][N];int e[N][N]; int n,m;void mul(.原创 2020-11-21 15:44:59 · 327 阅读 · 0 评论 -
矩阵乘法快速幂 斐波那契数
矩阵运算 + 快速幂。快速幂算法的模板可以参考这里。用算法4我们1秒内最多可以算到 108级别,那当 n 更大时该怎么办呢?可以先利用矩阵运算的性质将通项公式变成幂次形式,然后用平方倍增(快速幂)的方法求解第 n项。首先我们定义向量Xn=[anan−1],边界:X1=[a1a0]然后我们可以找出矩阵:A=[1110]则有:Xn=Xn−1×A所以:Xn=X1×An−1由于...原创 2020-03-04 09:57:15 · 401 阅读 · 0 评论 -
快速幂思维题
题目题目 求快速幂的最后一位。思路 把模数改为10就行了#include<iostream>using namespace std;int qs(int a,int b) { int res=1; while(b) { if(b&1) res=(long long)res*a%10; b>>=1; a=(long long)a*a%10...原创 2020-02-16 19:48:38 · 256 阅读 · 0 评论 -
求逆元
当n为质数时,可以用快速幂求逆元:a / b ≡ a * x (mod n)两边同乘b可得 a ≡ a * b * x (mod n)即 1 ≡ b * x (mod n)同 b * x ≡ 1 (mod n)由费马小定理可知,当n为质数时b ^ (n - 1) ≡ 1 (mod n)拆一个b出来可得 b * b ^ (n - 2) ≡ 1 (mod n)故当n为质数时,b的乘法逆...原创 2020-02-13 23:04:00 · 258 阅读 · 0 评论 -
快速幂
时间复杂度 log k题目#include<iostream>using namespace std;typedef long long LL;LL qs(int a,int b,int mod){ long long res=1; while(b) { if(b&1) res=res*a%mod; b>...原创 2020-02-13 22:56:06 · 195 阅读 · 0 评论