Another kind of Fibonacci "题目链接" Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description As we all known ...
分类:
其他好文 时间:
2020-01-30 00:01:58
阅读次数:
104
快速幂 引用:https://blog.csdn.net/Harington/article/details/87602682 求 a^b%m 的值,这个用普通算法我就不说了,时间复杂度O(b)。神奇的快速幂,时间复杂度O(logb). 我们已知 2^3 求 2^6,不就是 2^3 2^3嘛。快速幂 ...
分类:
其他好文 时间:
2020-01-29 19:29:39
阅读次数:
62
$B(x)=A^k(x)$ $\Rightarrow \ln B(x)=\ln A^k(x)$ $\Rightarrow \ln B(x)=k \ln A(x)$ $\Rightarrow B(x)=\exp(k \ln A(x))$ code: #include <cmath> #include ...
分类:
其他好文 时间:
2020-01-29 18:07:36
阅读次数:
69
矩阵快速幂 一.简介 首先,矩阵快速幂是从快速幂里延伸出的算法,需要快速幂以及线性代数的知识。快速幂是利用二进制的有关性质快速计算出xn,矩阵快速幂则是通过将递推式化成一个矩阵,求解某个递推结果的过程变成求解一个矩阵的n次幂的过程,从而能用快速幂加快递推式的求解。 举个例子,我们来用斐波那契数列来解 ...
分类:
其他好文 时间:
2020-01-29 01:13:49
阅读次数:
94
题目描述 有 $n$ 堆石子,每堆石子是不超过 $m$ 的质数,求有多少种局面,使 $Nim$ 游戏中先手获胜 数据范围 $n \le 10^9,m \le 50000$ 题解 首先我们知道 $Nim$ 游戏中先手获胜的条件是 $n$ 堆石子异或值为 $0$ 于是我们就 $Fwt$ +快速幂求出第 ...
分类:
其他好文 时间:
2020-01-28 20:46:35
阅读次数:
49
深度优先搜索是一种枚举所有完整路径以遍历所有情况的搜索方法。(不撞南墙不回头) DFS一般用递归来实现,其伪代码思路过程一般如下: void DFS(必要的参数){ if (符和遍历到一条完整路径的尾部){ 更新某个全局变量的值 } if (跳出循环的临界条件){ return; } 对所有可能出现 ...
分类:
其他好文 时间:
2020-01-27 19:07:35
阅读次数:
99
幂运算 幂运算$a^b$是$b$个$a$相乘的结果. C++自带的幂函数 是最朴素的$O(b)$算法,效率非常低,所以如果要用到大量幂运算,最好自己打一个快速幂. 快速幂 求$a^b\%p$的值. 1. 当$b=1$时,返回$a%p$. 2. 当$2\mid b$时,返回$pow(a,\frac{b ...
分类:
其他好文 时间:
2020-01-27 00:19:32
阅读次数:
99
https://www.luogu.org/problem/P2886 题目描述: 给出一张无向连通图,求$S$到$E$经过$k$条边的最短路。 对于一类$S$到$E$走指定数量的边数,求它的最短路或条数,都可以采用矩阵快速幂的方式解决.我们回忆一下那一个慢得惊人的$floyd$算法,将它的$dp$ ...
分类:
其他好文 时间:
2020-01-25 15:26:27
阅读次数:
78
/** * @param {number} x * @param {number} n * @return {number} */ function pow(x, n){ var ans = 1; while(n){ if(n % 2){ ans *= x; } x *= x; n >>= 1 } ...
分类:
Web程序 时间:
2020-01-24 12:03:40
阅读次数:
76
普通快速幂 $code :$ 有时配合龟速乘使用 $code :$ $O(1)$快速乘 $code :$ 矩阵快速幂 $code :$ cpp struct matrix { ll a[maxn][maxn]; matrix() { memset(a,0,sizeof(a));//要赋初值,不然会出 ...
分类:
其他好文 时间:
2020-01-22 21:35:29
阅读次数:
91