随笔分类 - 算法
摘要:Random Walk(随机行走) 前言 本人对随机行走算法理解并不是非常透彻(甚至可以说是不理解),仅仅根据定义用python将随机行走进行实现出来,因此本文章一定漏洞百出,仅仅只能参考。 我理解的定义 给定一张图,图中包含$nv$个点和$ne$条无向边,给出一个起始点$s$,目的地$t$以及一个
阅读全文
摘要:模版-匈牙利算法 #include <cstdio> #include <cstring> #include <iostream> const int Maxn = 100005; struct EDGE { int v, next; } e[Maxn << 2]; int head[Maxn],
阅读全文
摘要:模版-线性筛素数 #include <cstdio> #include <cstring> const int Maxn = 100000005; int isPrime[Maxn], Prime[1000005], cnt = 0; void getPrime(int n) { isPrime[0
阅读全文
摘要:BKDR字符串哈希 bkdr hash冲突的可能性非常小,但是由于$hash$值非常大不能映射到哈希数组地址上,所以可以通过取余,用余数作为索引地址。但这样做造成了可能的地址冲突。 #include <cstdio> #include <cstring> #include <iostream> #i
阅读全文
摘要:#include <cstdio> typedef long long ll; const int N = 100005; // 最大能计算的n上限 const int MOD = 1000000007; // 1e9 + 7 ll fac[N]; // 用于存储阶乘结果 ll qpow(ll a,
阅读全文
摘要:快速幂的概念 幂运算 an 即为n个a相乘,用普通的$for$循环计算复杂度为,$o(n)$当非常$n$大的时候就不能采取这种方式了。快速幂可以较高效的计算出结果。 快速幂的基本思路是分治:将an变为(a2)n/2,这样仅仅将a变为a2,运算量就减小了一半,重复上面的操作就可以将复杂度从$o(n)$
阅读全文

浙公网安备 33010602011771号