防爆模乘

news/2025/10/24 12:49:40/文章来源:https://www.cnblogs.com/xihegudi/p/19162953

防爆模乘

借助浮点数实现

\(\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)(1.L / m * a * b);return r - m * (r >= m) + m * (r < 0);
}

借助 int128 实现

int mul(int a, int b, int m) {return (__int128)a * b % m;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/945179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

欧拉筛(线性筛)

欧拉筛(线性筛) 时间复杂度为 \(\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\%\) 左右。本地可以…

20232314 2025-2026-1 《网络与系统攻防技术》实验三实验报告

一.实验内容(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧。正确使用msf编码器,使用msfvenom生成如jar之类的其他文件 veil,加壳工具 使用C + shellcode编程 (2)通过组合应用各种技术…

【LTDC】LTDC 简介

前言 此篇文章仅作笔记分享,内容来源为:【正点原子】全是干货 | 手把手教你学STM32的LTDC这一节课目的就是了解一下 LTDC 的各种特点,方便后面学习。 LTDC 简介控制器框图信号线 注意不同芯片会有不同的引脚对应。 …

Markdown数学公式 - -一叶知秋

1.1 公式表达显示 代码行内公式 $数学公式$独立公式 $$数学公式$$1.2 上下标显示 代码$x^2$ $x^2$$x_2$ $x_2$1.3 括号显示 代码$\underbrace{yyyy}_{ \text{xxx} }$ $\underbrace{yyyy}_{ \text{xxxx} }$$\begin{case…

分类器案例 - -一叶知秋

模型复杂程度 一、常见衡量指标参数数量(Number of Parameters)模型包含的可学习参数越多,复杂度越高。 例如:线性回归:参数个数 = 特征维数 + 1 深度神经网络:每层权重矩阵大小 层数例子:ResNet-18(约1100万…

最大流

最大流 Dinic 解 使用 \(\tt Dinic\) 算法,理论最坏复杂度为 \(\mathcal O(N^2M)\) ,例题范围:\(N=1200,\ m=5\times 10^3\) 。一般步骤:\(\tt BFS\) 建立分层图,无回溯 \(\tt DFS\) 寻找所有可行的增广路径。封装…

最小割树 Gomory-Hu Tree

最小割树 Gomory-Hu Tree 无向连通图抽象出的一棵树,满足任意两点间的距离是他们的最小割。一共需要跑 \(n\) 轮最小割,总复杂度 \(\mathcal O(N^3M)\) ,预处理最小割树上任意两点的距离 \(\mathcal O(N^2)\) 。 过…

最小割

最小割 基础模型:构筑二分图,左半部 \(n\) 个点代表盈利项目,右半部 \(m\) 个点代表材料成本,收益为盈利之和减去成本之和,求最大收益。 建图:建立源点 \(S\) 向左半部连边,建立汇点 \(T\) 向右半部连边,如果某…

费用流

费用流 给定一个带费用的网络,规定 \((u,v)\) 间的费用为 \(f(u,v) \times w(u,v)\) ,求解该网络中总花费最小的最大流称之为最小费用最大流。总时间复杂度为 \(\mathcal O(NMf)\) ,其中 \(f\) 代表最大流。 struct…

图论常见结论及例题

图论常见结论及例题 常见结论要在有向图上求一个最大点集,使得任意两个点 \((i,j)\) 之间至少存在一条路径(可以是从 \(i\) 到 \(j\) ,也可以反过来,这两种有一个就行),即求解最长路;要求出连通图上的任意一棵生…

查询GPIO状态值(步骤)

查询GPIO状态值(步骤)1.导出GPIO(如果还没有被导出): echo 31 > /sys/class/gpio/export 2.查询是否导出成功 ls -lh /sys/class/gpio/gpio31 如果出现gpio31文件夹,说明gpio导出成功。开机时导出一次即可 3.查…

最长路(topsort+DP算法)

最长路(topsort+DP算法) 计算一张 \(\tt DAG\) 中的最长路径,在执行前可能需要使用 \(\tt tarjan\) 重构一张正确的 \(\tt DAG\) ,复杂度 \(\mathcal O(N+M)\) 。 struct DAG {int n;vector<vector<pair<…

最短路径树(SPT问题)

最短路径树(SPT问题)定义:在一张无向带权联通图中,有这样一棵生成树:满足从根节点到任意点的路径都为原图中根到任意点的最短路径。 性质:记根节点 \(Root\) 到某一结点 \(x\) 的最短距离 \(dis_{Root,x}\) ,在…

欧拉路径/欧拉回路 Hierholzers

欧拉路径/欧拉回路 Hierholzers欧拉路径:一笔画完图中全部边,画的顺序就是一个可行解;当起点终点相同时称欧拉回路。有向图欧拉路径存在判定 有向图欧拉路径存在:\(\tt ^1\) 恰有一个点出度比入度多 \(1\) (为起点…

无源汇点的最小割问题 Stoer–Wagner

无源汇点的最小割问题 Stoer–Wagner也称为全局最小割。定义补充(与《网络流》中的定义不同): 割:是一个边集,去掉其中所有边能使一张网络流图不再连通(即分成两个子图)。通过递归的方式来解决无向正权图上的全…

染色法判定二分图 (dfs算法)

染色法判定二分图 (dfs算法) 判断一张图能否被二分染色。 vector<int> vis(n + 1); auto dfs = [&](auto self, int x, int type) -> void {vis[x] = type;for (auto y : ver[x]) {if (vis[y] == type) {…

链式前向星建图与搜索

链式前向星建图与搜索 很少使用这种建图法。\(\tt dfs\) :标准复杂度为 \(\mathcal O(N+M)\)。节点子节点的数量包含它自己(至少为 \(1\)),深度从 \(0\) 开始(根节点深度为 \(0\))。\(\tt bfs\) :深度从 \(1\) …

一般图最大匹配

一般图最大匹配(带花树算法) 与二分图匹配的差别在于图中可能存在奇环,时间复杂度与边的数量无关,为 \(\mathcal O(N^3)\) 。下方模板编号从 \(0\) 开始,例题为 UOJ #79. 一般图最大匹配 。 struct Graph {int n;…

CF2152G

有一棵以 \(1\) 为根, \(n\) 个节点的树,每个节点有一个颜色白/黑。给定 \(q\) 组询问,每组询问给了一个 \(u\),表示将 \(u\) 子树内的点的颜色全部翻转。每次操作后回答至少需要几条从根开始的链才能覆盖所有黑点…