本文分类:news发布日期:2025/10/31 15:33:00
打赏

相关文章

求解连续数字的正约数集合——倍数法

求解连续数字的正约数集合——倍数法 使用规律递推优化,时间复杂度为 \(\mathcal{O}(N\log N)\) ,如果不需要详细的输出集合,则直接将 vector 换为普通数组即可(时间更快) 。 #include <bits/stdc++.h> usi…

git回滚代码

回滚上一次提交是指撤销最近一次的git提交操作。在实际使用中,有两种常见的方法可以实现这个操作: 方法一:使用git revert命令回滚 1. 首先,通过命令`git log`查看提交记录,找到要回滚的提交的hash值。 2. 使用命…

扩展欧几里得 exgcd

扩展欧几里得 exgcd 求解形如 \(a\cdot x + b\cdot y = \gcd(a,b)\) 的不定方程的任意一组解。 int exgcd(int a, int b, int &x, int &y) {if (!b) {x = 1, y = 0;return a;}int d = exgcd(b, a % b, y, x);y…

离散对数 bsgs 与 exbsgs

离散对数 bsgs 与 exbsgs 以 \(\mathcal O(\sqrt {P})\) 的复杂度求解 \(a^x \equiv b(\bmod P)\) 。其中标准 \(\tt BSGS\) 算法不能计算 \(a\) 与 \(MOD\) 互质的情况,而 exbsgs 则可以。 namespace BSGS { LL a, …

防爆模乘

防爆模乘 借助浮点数实现 以 \(\mathcal O(1)\) 计算 \(a\cdot b\bmod p\) ,由于不取模,常数比 int128 法小很多。其中 \(1 \le n, k, p \le 10^{18}\) 。 int mul(int a, int b, int m) {int r = a * b - m * (int)…

欧拉筛(线性筛)

欧拉筛(线性筛) 时间复杂度为 \(\mathcal{O}(N\log\log N)\) 。 vector<int> prime; // 这里储存筛出来的全部质数 auto euler_Prime = [&](int n) -> void {vector<int> v(n + 1);for (int i = …

常见数列

常见数列 调和级数 满足调和级数 \(\mathcal O\left( \dfrac{N}{1} +\dfrac{N}{2}+\dfrac{N}{3}+\dots + \dfrac{N}{N} \right)\),可以用 $ \approx N\ln N$ 来拟合,但是会略小,误差量级在 \(10\%\) 左右。本地可以…

手机版浏览

扫一扫体验

微信公众账号

微信扫一扫加关注

返回
顶部