jiangly模板-数学(数论,几何,多项式)

news/2025/11/4 13:30:47/文章来源:https://www.cnblogs.com/filt/p/19190005

数学

快速幂

/**   快速幂 - 普通版*    2023-10-09: https://atcoder.jp/contests/tenka1-2017/submissions/46411797
**/
int power(int a, i64 b, int p) {int res = 1;for (; b; b /= 2, a = 1LL * a * a % p) {if (b % 2) {res = 1LL * res * a % p;}}return res;
}/**   快速幂 - 手写乘法*    2023-09-27: https://qoj.ac/submission/189343
**/
using i64 = long long;i64 mul(i64 a, i64 b, i64 p) {i64 c = a * b - i64(1.0L * a * b / p) * p;c %= p;if (c < 0) {c += p;}return c;
}i64 power(i64 a, i64 b, i64 p) {i64 res = 1;for (; b; b /= 2, a = mul(a, a, p)) {if (b % 2) {res = mul(res, a, p);}}return res;
}

基姆拉尔森公式

/**   基姆拉尔森公式*    2023-09-05: https://qoj.ac/submission/164735
**/
const int d[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};bool isLeap(int y) {return y % 400 == 0 || (y % 4 == 0 && y % 100 != 0);
}int daysInMonth(int y, int m) {return d[m - 1] + (isLeap(y) && m == 2);
}int getDay(int y, int m, int d) {int ans = 0;for (int i = 1970; i < y; i++) {ans += 365 + isLeap(i);}for (int i = 1; i < m; i++) {ans += daysInMonth(y, i);}ans += d;return (ans + 2) % 7 + 1;
}

欧拉筛

/**   欧拉筛*    2023-11-14: https://qoj.ac/submission/251234
**/
std::vector<int> minp, primes;void sieve(int n) {minp.assign(n + 1, 0);primes.clear();for (int i = 2; i <= n; i++) {if (minp[i] == 0) {minp[i] = i;primes.push_back(i);}for (auto p : primes) {if (i * p > n) {break;}minp[i * p] = p;if (p == minp[i]) {break;}}}
}bool isprime(int n) {return minp[n] == n;
}/**   欧拉筛*    2023-03-22: https://yukicoder.me/submissions/851524
**/
void sieve(int n) {minp.assign(n + 1, 0);phi.assign(n + 1, 0);primes.clear();for (int i = 2; i <= n; i++) {if (minp[i] == 0) {minp[i] = i;phi[i] = i - 1;primes.push_back(i);}for (auto p : primes) {if (i * p > n) {break;}minp[i * p] = p;if (p == minp[i]) {phi[i * p] = phi[i] * p;break;}phi[i * p] = phi[i] * (p - 1);}}for (int i = 2; i <= n; i++) {phi[i] += phi[i - 1];}
}

莫比乌斯函数筛(莫比乌斯反演)

/**   莫比乌斯函数筛(莫比乌斯反演)*    2023-03-04: https://atcoder.jp/contests/tupc2022/submissions/39391116*    2023-04-07: https://yukicoder.me/submissions/857472
**/
std::unordered_map<int, Z> fMu;std::vector<int> minp, primes, phi, mu;
std::vector<i64> sphi;void sieve(int n) {minp.assign(n + 1, 0);phi.assign(n + 1, 0);sphi.assign(n + 1, 0);mu.assign(n + 1, 0);primes.clear();phi[1] = 1;mu[1] = 1;for (int i = 2; i <= n; i++) {if (minp[i] == 0) {minp[i] = i;phi[i] = i - 1;mu[i] = -1;primes.push_back(i);}for (auto p : primes) {if (i * p > n) {break;}minp[i * p] = p;if (p == minp[i]) {phi[i * p] = phi[i] * p;break;}phi[i * p] = phi[i] * (p - 1);mu[i * p] = -mu[i];}}for (int i = 1; i <= n; i++) {sphi[i] = sphi[i - 1] + phi[i];mu[i] += mu[i - 1];}
}Z sumMu(int n) {if (n <= N) {return mu[n];}if (fMu.count(n)) {return fMu[n];}if (n == 0) {return 0;}Z ans = 1;for (int l = 2, r; l <= n; l = r + 1) {r = n / (n / l);ans -= (r - l + 1) * sumMu(n / l);}return ans;
}

扩展欧几里得(exgcd)

/**   扩展欧几里得(exgcd)*    2024-08-07: https://codeforces.com/contest/1993/submission/275110715
**/
i64 exgcd(i64 a, i64 b, i64 &x, i64 &y) {if (b == 0) {x = 1;y = 0;return a;}i64 g = exgcd(b, a % b, y, x);y -= a / b * x;return g;
}// ax + b = 0 (mod m)
std::pair<i64, i64> sol(i64 a, i64 b, i64 m) {assert(m > 0);b *= -1;i64 x, y;i64 g = exgcd(a, m, x, y);if (g < 0) {g *= -1;x *= -1;y *= -1;}if (b % g != 0) {return {-1, -1};}x = x * (b / g) % (m / g);if (x < 0) {x += m / g;}return {x, m / g};
}/**   扩展欧几里得(exgcd)*    2023-09-05: https://qoj.ac/submission/165983
**/
std::array<i64, 3> exgcd(i64 a, i64 b) {if (!b) {return {a, 1, 0};}auto [g, x, y] = exgcd(b, a % b);return {g, y, x - a / b * y};
}

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

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

相关文章

vimrc 插件使用

ack.vim https://github.com/mileszs/ack.vim在Vim中运行你最喜欢的搜索工具,并获得增强的结果列表。 此插件旨在作为程序员搜索工具ack的Vim前端。ack可以替代99%的grep使用场景。该插件允许您在Vim中使用ack进行搜索…

Java中的委托和拉姆达(表达式/语句)

Java中的委托和拉姆达(表达式/语句)所谓委托,主要指函数声明的一种方式。通常在函数作为参数时使用。 Java中现成的委托,语法还是比较啰嗦的。可以看到,对不同个数的参数和返回值,有不同的写法。我们这里举个例子…

国债ETF收益规律发现及应用

国债ETF收益规律发现及应用利率下行的年代,国债在投资可选项中的重要性也显著提升了,本文研究国债ETF涨跌规律,以及能否利用规律提高收益。研究数据:十年期国债, 代码:511260日线数据时间范围: 2017-08 到 2025…

2025年11月宝宝起名公司选择榜:舜缘居等五强对比解析

正在打开一份“起名焦虑”档案:预产期倒计时,出生医学证明必须填名字,长辈列了五行缺金、笔画要吉、读音要亮的三页纸,网上免费打分却一个90分都没有;户口登记窗口的民警提醒“一旦录入,变更要走公证”,于是“靠…

2025广东高端网站建设公司精选榜单:知名网站建设公司聚焦专业与适配的实用之选

在数字化转型加速推进的当下,无论是初创企业还是中小微机构,搭建专属网站已成为拓展业务、链接客户的核心需求。市场上不乏规模精简却专业高效的网站建设服务商,它们凭借灵活的服务模式、精准的需求适配能力,为不同…

2025年11月自吸泵厂家评价榜:主流厂商数据解析与推荐

自吸泵是市政排水、农田灌溉、工业循环水系统的“心脏”,用户往往在“临时应急”或“项目节点”前两周才集中选型,痛点集中在“是否真自吸”“能否扛住空转”“交货期是否准时”“售后能否到场”四件事。2025年住建部…

2025年11月治疗失眠的专家推荐:市场报告与选择指南

失眠不是简单的“睡不着”,而是白天效率下滑、情绪易崩、体检指标飘红的连锁反应。很多人半夜刷手机找“快速入睡偏方”,第二天却带着更深的黑眼圈上班;也有人把希望寄托于褪黑素、香薰、白噪音,结果依旧凌晨三点数…

2025年11月自吸泵厂家推荐列表:主流企业口碑与资质全解析

引言与现状分析 在市政排涝、工厂循环、农业灌溉等场景里,自吸泵因“无需灌引水、吸程高、维护快”成为刚需。用户通常面临三大痛点:一是参数虚标,实际吸程比铭牌低一到两米;二是配件不通用,后期维护被“绑架”;…

2025年11月治疗失眠的专家推荐:市场报告与榜单全解析

凌晨两点仍盯着天花板、白天靠咖啡续命、体检报告却显示“未见明显异常”——这是当下中国3亿睡眠障碍者的共同画像。国家卫健委2024年抽样显示,18-60岁人群里,有失眠症状者占38.2%,其中仅11.7%得到规范干预。政策层…

2025年11月中国婚姻家事与财富管理律师评价榜:五强深度评测

当婚姻、继承、股权、跨境资产交织成一张越来越复杂的财富网络,高净值家庭最先想到的不是“打官司”,而是“找谁才能一次性把风险拆干净”。2025年,北京、上海、深圳三地法院公开数据显示,婚姻家事案件标的额超过一…

2025不锈钢提升机厂家选购参考:专注实用的优质厂家与选择逻辑

在工业生产的物料输送环节中,提升机作为关键设备,其性能稳定性直接影响生产效率。随着市场需求升级,兼具可靠性与适配性的提升机品牌逐渐成为行业关注焦点。结合市场调研与实际应用反馈,以下为大家梳理优质提升机厂…

2025制造业刮板输送机厂家选型参考:皮带输送机厂家供应商及选购要点解析

在工业生产的物料转运环节,输送机作为核心设备直接影响生产效率与运营成本。随着制造业智能化、定制化需求升级,选择适配的输送设备及可靠供应商成为企业关注的重点。以下结合行业观察,分享优质输送机供应商特点及实…

2025年11月中国婚姻家事与财富管理律师排名榜:五强对比指南

引言与现状分析 当婚姻、继承、股权、跨境资产交织在一起,高净值家庭最先想到的求助对象往往是“婚姻家事与财富管理律师”。2025年,中国个人可投资资产超过1000万元的家庭已突破220万户,北京、上海、深圳三地集中了…

Let`s Encrypt 生成免费自动续签 HTTPS 证书

Let`s Encrypt 是一个免费的证书授权机构(CA),其通过 ACME 协议接口自动签发数字证书,来让你省去证书过期的烦恼。 ACME客户端有很多,Let`s Encrypt 官网推荐 Certbot ,下面是具体获取免费证书的流程: 一、安装…

ModbusRTU通信报文分析—功能码02读取输入线圈笔记

我心里有一簇迎着烈日而生的花,比一切美酒都要芬芳,滚烫的馨香淹没过稻草人的胸膛,草扎的精神,从此万寿无疆。——《默读》写给初学者的话: 你是不是在调试Modbus设备时,看到一串十六进制数据(比如 02 02 00 0A…

2025 年实验室 CMA/CNAS 认证咨询公司全新推荐

发布时间:2025 年 11 月 3 日 作者:实验室合规研究小组 在国家市场监管总局持续强化检验检测机构资质要求的背景下,CMA 计量认证与 CNAS 实验室认可已成为实验室合规运营的硬性门槛。以下基于三家主流咨询机构官网最…

2025年11月沈阳酒店深度评测排名:从用户需求角度解析优质选择

作为计划前往沈阳的旅客,您可能正在寻找一家既能满足便捷出行需求,又能提供特色服务的酒店。无论是商务出行还是休闲旅游,选择一家地理位置优越、设施齐全的住宿场所至关重要。沈阳作为东北地区的重要城市,酒店行业…

2025 年 11 月 T2紫铜棒厂家推荐排行榜,国标T2紫铜棒,高精度紫铜棒,耐磨紫铜棒,定制紫铜棒公司推荐

2025 年 11 月 T2紫铜棒厂家推荐排行榜:国标T2紫铜棒、高精度紫铜棒、耐磨紫铜棒、定制紫铜棒公司深度解析 行业背景与发展现状 T2紫铜棒作为工业领域重要的基础材料,在电力、电子、机械制造等行业中具有不可替代的地…

2025 年 11 月 6082 铝板厂家推荐排行榜,6061铝板,7075铝板,5083铝板,2024铝板,优质铝合金板材供应商精选

2025年11月6082铝板厂家推荐排行榜:优质铝合金板材供应商精选 随着现代工业对材料性能要求的不断提升,铝合金板材在航空航天、交通运输、机械制造等领域的应用日益广泛。其中6082铝板以其优良的耐腐蚀性、焊接性能和…

2025 年 11 月 7050 铝板厂家推荐排行榜,7050 铝板,7050 铝板厂家,7050 铝板批发,7050 铝板公司推荐,专业实力与客户满意度深度解析

2025年11月7050铝板厂家推荐排行榜:专业实力与客户满意度深度解析 随着航空航天、国防军工、交通运输等高端制造领域的快速发展,7050铝板作为高强铝合金材料的代表,其市场需求持续增长。7050铝板以其优异的强度、耐…