12 2019 档案
摘要:求$a[u] a[v]$的最大值 已知$a[1] a[2] 对于每个不等式 $x[i] x[j] i的有向边,边权为a[k] $a[u] a[v]$的最大值就是求v到u的最短路 求$a[u] a[v]$的最小值 已知$a[1] a[2] = 5$,那么 $a[1] a[2]$ 的最小值就是5 如果$
阅读全文
摘要:组合数通项公式 \(C_n^m=\frac{n!}{m!*(n-m)!}\) 组合数递推公式 \(C_n^m=C_{n-1}^m+C_{n-1}^{m-1}\) 解释:从n个数里面选m个数,如果第n个数不选,就要从n-1个数里面选m个数 如果第n个数选,那么就要从n-1个数选m-1个数,有点类类似于
阅读全文
摘要:欧拉函数 计算与n互质的正整数个数 线性求eular 直接求euler 参考博客
阅读全文
摘要:逆元 逆元就是在mod意义下,不能直接除以一个数,而要乘以它的逆元。 $a \times x = 1 \mod p$,那么$x$就是$a$在$p$下的逆元,除以$a$就等于乘以$x$ 扩展欧几里得 扩展欧几里得是求一组 $x,y$ 使得 $a \times x + b \times y = \gcd
阅读全文
摘要:算法思想 我们想求得一组$x,y$使得 $ax+by = \gcd(a,b)$ 根据 $\gcd(a,b) = \gcd(b,a\bmod b)$ 如果我们现在有$x',y'$ 使得 $bx'+(a\bmod b)y' = \gcd(b,a\bmod b)$ 那么 $ax+by = bx'+( a
阅读全文
摘要:参考 二分查找 返回第一个大于等于x的位置 返回第一个大于x的位置 可以看到, 和`lower_bound`的差别就是一个等于 但是,如果一个数组是降序的呢??? 返回第一个小于等于x的位置 返回第一个小于x的位置 迭代器 `auto for(auto i : v)` vector.insert()
阅读全文
摘要:参考 比较字典序 string 重载了运算符,可以直接比较大小 char 返回s1 s2 字符串拼接 string 可以直接使用+拼接,也可以使用append函数 char `strncat(s1,s2,len)` 字符串查找 char 函数用于判断字符串str2是否是str1的子串。如果是,则该函
阅读全文
摘要:xor 异或的数学符号为“⊕”,计算机符号为“xor” 如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。 相互性 a ^ b = c 那么 a ^ c = b, b ^ c = a 异或和 从0开始每4个数的异或和为0 y (x ^ y)
阅读全文
摘要:SPFA Shortest Path Faster Algorithm 最短路径最快算法 算法思想 SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称,通常用于求含负权边的单源最短路径,以及判负权环。SPFA 最坏情况下复杂度和朴素 Bellman-Ford 相同,为 O(VE)。
阅读全文
摘要:Bellman Ford 贝尔曼 福特 算法思想 贝尔曼 福特算法(英语:Bellman–Ford algorithm),求解单源最短路径问题的一种算法,由理查德·贝尔曼 和 莱斯特·福特 创立的。它的原理是对图进行次松弛操作,得到所有可能的最短路径。其优于迪科斯彻算法的方面是边的权值可以为负数、实
阅读全文