会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
BWOrzzzzz
BWOrzzzzz is NOT A CAT
博客园
首页
新随笔
联系
订阅
管理
2019年5月9日
Miller-Rabbin素数测试判定素数
摘要: 介绍一种素数判定的方法: Miller-Rabbin素数测试 时间复杂度可以达到O(slogn)级别,s是测试次数,一般取在30次左右便已足够,因此这是一个logn级别的算法 首先根据费马小定理,当p是素数时有: /(a^{p-1}\equiv1(\mod p)/) 即 /(a^{p-1}\mod
阅读全文
posted @ 2019-05-09 14:42 Black_Gzombie
阅读(524)
评论(0)
推荐(0)
2019年5月8日
树链剖分+线段树求和维护树上最大/最小值
摘要: //树链剖分,线段树维护 #include #include #define maxn 300500 #define INF 0x3f3f3f3f using namespace std; int n,m; int head[maxn],cnt; int dep[maxn],son[maxn],siz[maxn],fa[maxn]; int top[maxn],seg[maxn],rnk[...
阅读全文
posted @ 2019-05-08 00:29 Black_Gzombie
阅读(271)
评论(0)
推荐(0)
树链剖分求LCA
摘要: 树链剖分求LCA,首先需要处理以下几个数组: 树链剖分需要两次dfs,第一次求出father、son、size和dep数组,第二次求出top数组。然后再求lca即可。 附上代码: 代码注释版(用于理解):
阅读全文
posted @ 2019-05-08 00:28 Black_Gzombie
阅读(157)
评论(0)
推荐(0)
矩阵快速幂优化线性递推
摘要: 我们熟知的斐波那契数列递推公式是: \(f(n)=f(n-1)+f(n-2)\) 假设我们需要求斐波那契数列的第n项,当n非常大(如n=1e9)的时候,递推肯定超时。我们不妨设: \(\binom{f_{n}}{f_{n-1}}=\begin{pmatrix}a & b\\ c & d\end{pm
阅读全文
posted @ 2019-05-08 00:12 Black_Gzombie
阅读(377)
评论(0)
推荐(0)
树状数组维护前缀和
摘要: 树状数组是用来维护序列前缀和的数据结构。它的修改与求和都是O(logn)的,效率非常高。 我们设序列为A,则树状数组c中,c[i]记录序列A的区间[ i-lowbit(i)+1 , i ]中所有数的和。 (树状数组是个好东西ovo) 树状数组在进行区间操作时,要从上到下访问,进行单点操作时,要从下到
阅读全文
posted @ 2019-05-08 00:05 Black_Gzombie
阅读(833)
评论(0)
推荐(0)
线段树区间修改与查询
摘要: 单点修改与查询 区间修改与查询 注意要使用标记下传来实现。
阅读全文
posted @ 2019-05-08 00:02 Black_Gzombie
阅读(1397)
评论(0)
推荐(0)
2019年5月7日
RMQ问题-ST表倍增处理静态区间最值
摘要: 简介 ST表是利用倍增思想处理RMQ问题(区间最值问题)的一种工具。 它能够做到O(nlogn)预处理,O(1)查询的时间复杂度,效率相当不错。 算法 1.预处理 ST表利用倍增的思想。以洛谷的P3865作为例子。我们需要查询某一区间的最大值。 我们用f[ i ][ j ]表示区间i到i+2^j-1
阅读全文
posted @ 2019-05-07 23:53 Black_Gzombie
阅读(375)
评论(0)
推荐(0)
图论最短路Dijkstra+heap和SPFA
摘要: SPFA算法最短路(即Bellman-Ford队列优化) dijkstra堆优化:
阅读全文
posted @ 2019-05-07 23:51 Black_Gzombie
阅读(252)
评论(0)
推荐(0)
公告