算法
graygoods
中学蒟蒻一枚。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速幂
快速幂 什么是快速幂 顾名思义,快速幂就是跑得特别快的算一个数几次方的的运算。 朴素算法 求anana^n的值 for (int i = 1; i <= n; i++) { res *= a; } 显然,复杂度是O(nnn)的,这显然不是十分快速的算法。 利用cmath库 res = pow(a, b); 告诉你,实际上它的复杂度也不是很健康,可...原创 2018-09-02 08:47:25 · 244 阅读 · 0 评论 -
矩阵快速幂
阅读本知识点的基本条件 知道什么是矩阵,以及知道如何进行矩阵的乘法。 什么是矩阵快速幂 和快速幂一样,矩阵快速幂是一种可以在O(lognlognlogn)的时间复杂度内求出矩阵的nnn次方的算法。 如何写矩阵快速幂 前提1 封装好一个矩阵 struct Matrix{ ... friend Matrix operator * (Matrix a, M...原创 2018-09-02 08:52:57 · 227 阅读 · 0 评论 -
根号分治
说实话个人不是很喜欢根号类的算法,毕竟能logloglog不想根号,但是毕竟有很多根号类的算法是logloglog无法替代的,就比如说下面这个算法。 根号分治 根号分治,顾名思义,就是把大的问题拆成小的问题,不过根号分治不是从中间切的,而是从n−−√n\sqrt n的地方切的,具体怎么说呢,我们举个栗子。 例1 题目大意 给你一个长度为nnn的01串SSS,然后有mmm次询问,每次询问给...原创 2018-09-02 22:37:28 · 3296 阅读 · 7 评论 -
高精度模板
我的高精度模板 用vector存储,带符号,带输入输出,加减乘,比较大小,暂时不完全。 (请无视前几行的zz操作) #include&lt;cstdio&gt; #include&lt;iostream&gt; #include&lt;algorithm&gt; #include&lt;vector&gt; #include&lt;string&原创 2018-09-15 16:09:50 · 198 阅读 · 0 评论
分享