快速幂
酷酷的Herio
这个作者很懒,什么都没留下…
展开
-
P1962 斐波那契数列(矩阵加速)
P1962 斐波那契数列(矩阵加速) 传送门 思路:很显然,转移矩阵为[1,11,0]\begin{bmatrix}1,1\\1,0\end{bmatrix}[1,11,0] [FnFn−1]=[1,11,0]n−2. [F2F1](n>2)\begin{bmatrix}F_n\\F_{n-1}\end{bmatrix}=\begin{bmatrix}1,1\\1,0\end{bmatrix}^{n-2}.\ \ \ \begin{bmatrix}F_2\\F_1\原创 2020-05-30 12:53:52 · 385 阅读 · 0 评论 -
P1939 【模板】矩阵加速(数列)
P1939 【模板】矩阵加速(数列) 传送门 矩阵加速的难点就在于构造转移矩阵。 根据题目的提示显然我们的初始矩阵为 [111]\begin{bmatrix}1\\1\\1\end{bmatrix}⎣⎡111⎦⎤ 假设我们当前矩阵需要求的矩阵为[aiai−1ai−2]\begin{bmatrix}a_i\\a_{i-1}\\a_{i-2}\end{bmatrix}⎣⎡aiai−1ai−2⎦⎤ 根据递推公式有{ai =ai−1×1+ai−2×0+ai−3×1原创 2020-05-30 11:10:52 · 417 阅读 · 0 评论 -
P3390 【模板】矩阵快速幂
P3390 【模板】矩阵快速幂 传送门 下面给出了重载运算符∗*∗的方法。 时间复杂度:O(n3logk)O(n^3logk)O(n3logk) #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e2+10,mod=1e9+7; #define mst(a) memset(a,0,sizeof a) ll n,k; struct Mat{ ll a[N][N]; Mat operat原创 2020-05-30 10:32:36 · 925 阅读 · 0 评论 -
H - Carmichael Numbers(素数筛&快速幂)
H - Carmichael Numbers(素数筛&快速幂) 题意:给定nnn,若nnn不为素数 且对∀i∈[2,n−1],an mod n=a\forall i\in[2,n-1],a^n\bmod n=a∀i∈[2,n−1],anmodn=a则该数为CarmichaelNumbersCarmichael\quad NumbersCarmichaelNumbers。 思路:因为nnn只...原创 2020-05-03 21:39:35 · 294 阅读 · 0 评论