随笔分类 -  acm / 模板

摘要:树上路径1 给你一个 n(1n2000)个点的树。 给你 m(1m2000) 条树上的简单路径,每个路径有个权值 ai(1ai109)。 要求选择一些路径,使得每个点至多在一条路径上,并且路径的权值和最大。 输入格式 第一行两个整数n, m。 接下来一行n−1个数,$f_ 阅读全文
posted @ 2022-11-02 13:33 hzy0227 阅读(162) 评论(0) 推荐(0) 编辑
摘要:FFT #include <bits/stdc++.h> #define rep(i, a, b) for (int i = a; i < (int)b; i++) using namespace std; typedef double db; typedef long long ll; const 阅读全文
posted @ 2022-09-14 23:01 hzy0227 阅读(138) 评论(0) 推荐(0) 编辑
摘要:拆点 + 最大流 G - Erasing Prime Pairs (atcoder.jp) 题意 有 n(n <= 100)种互不相同的数,分别是 A[i] (<=1e7), 每个有 B[i] 个 每次可以任意取两个数,如果相加是素数就消去这两个数,求最多操作次数 思路 思路一、 不考虑 1 阅读全文
posted @ 2022-09-08 22:21 hzy0227 阅读(45) 评论(0) 推荐(0) 编辑
摘要:#include <bits/stdc++.h> #define clog(x) std::clog << (#x) << " is " << (x) << '\n'; using ll = long long; // #include "include/izlyforever.hpp" names 阅读全文
posted @ 2022-08-26 13:01 hzy0227 阅读(39) 评论(0) 推荐(0) 编辑
摘要:#include <bits/stdc++.h> using namespace std; using _T=double; // 全局数据类型,可修改为 long long 等 const _T eps=1e-8; const long double PI=3.141592653589793238 阅读全文
posted @ 2022-07-03 18:00 hzy0227 阅读(44) 评论(0) 推荐(0) 编辑
摘要:线段树 单点修改,区间查询 线段树2 - 题目 - Daimayuan Online Judge #include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <cmath> using 阅读全文
posted @ 2022-06-04 17:37 hzy0227 阅读(88) 评论(0) 推荐(0) 编辑
摘要:理想的正方形 二维倍增 SCUACM2022集训前训练-动态规划 - Virtual Judge (vjudge.net) 设 maxn[i][j][k] 为以 (i,j) 为左上角,边长为 2k 的正方形内元素的最大值 #include <iostream> #inclu 阅读全文
posted @ 2022-05-28 20:45 hzy0227 阅读(38) 评论(0) 推荐(0) 编辑
摘要:st表 #include <iostream> #include <cstring> #include <cmath> using namespace std; const int N = 2e5 + 10, M = 18; int f[N][M], a[N]; int n, m; void ini 阅读全文
posted @ 2022-05-26 15:18 hzy0227 阅读(26) 评论(0) 推荐(0) 编辑
摘要:Wormholes spfa 判负环 SCUACM2022集训前训练-图论 - Virtual Judge (vjudge.net) #include <iostream> #include <cstring> #include <algorithm> #include <vector> #incl 阅读全文
posted @ 2022-05-25 21:44 hzy0227 阅读(27) 评论(0) 推荐(0) 编辑
摘要:LCA 倍增 #include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <queue> using namespace std; typedef long long ll; const 阅读全文
posted @ 2022-05-25 20:10 hzy0227 阅读(180) 评论(0) 推荐(0) 编辑
摘要:线段树 区间加 ,区间和,区间最值,区间推平 #include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <cmath> #include <cstdio> using namespac 阅读全文
posted @ 2022-05-24 20:02 hzy0227 阅读(23) 评论(0) 推荐(0) 编辑
摘要:常见积性函数 线性筛求常见积性函数 设 f(n) 为积性函数 n=p1e1p2e2p3e3...pkek, 设 p1 为最小素因子 由积性函数性质,\(f(n) = f(\frac n{p_1^{e_1}})*f(p_1^{e_ 阅读全文
posted @ 2022-05-19 20:05 hzy0227 阅读(70) 评论(0) 推荐(0) 编辑
摘要:狄利克雷卷积 f, g 为数论函数 h=fg, 即 h(n)=d1d2=nf(d1)g(d2) 性质 满足交换律 满足结合律,即 \(p(n)=(f*g)*h=f*(g*h)=\sum\limits_{d_1*d_2*d_3=n}f(d_1)* 阅读全文
posted @ 2022-05-19 20:04 hzy0227 阅读(27) 评论(0) 推荐(0) 编辑
摘要:指数方程 求 axb;(mod;m) 的最小非负整数解,其中 gcd(a,m)=1 暴力做法 因为最长 ϕ(m) 为一个循环,ϕ(m)m 是一个量级的,枚举这个循环,复杂度为 O(m) BSGS算法 只适用于 gcd(a,m)=1阅读全文
posted @ 2022-05-19 20:02 hzy0227 阅读(257) 评论(0) 推荐(0) 编辑
摘要:阶 定义:满足 ax1(modm) 最小的 x 称为 am 的阶 性质:xϕ(m) 求阶: ​ 先将 ϕ(m) 标准分解,\(phi(m)=p_1^{e_1}*p_2^{e_2}*...p_k^{e 阅读全文
posted @ 2022-05-19 20:01 hzy0227 阅读(207) 评论(0) 推荐(0) 编辑
摘要:原根 定义:如果 g(modm) 的阶为 ϕ(m)gm 的原根 g0,g1,...gϕ(m)1 构成了模 m 的简化剩余系 (即 [1,m1] 中与 m 互质的数可以被原根 g 的阶 阅读全文
posted @ 2022-05-19 20:01 hzy0227 阅读(96) 评论(0) 推荐(0) 编辑
摘要:欧拉定理 欧拉定理 ​ gcd(a,m)=1 时, axaxmodϕ(m)(modm) 扩展欧拉定理: ​ axaxmodϕ(m)+ϕ(m)(modm) 证明: a 与 m 互质 阅读全文
posted @ 2022-05-19 19:59 hzy0227 阅读(193) 评论(0) 推荐(0) 编辑
摘要:Lucas 定理 组合数取模 3 (适用于模数较小且为素数,组合数较大的情况) Lucas 定理 给定 n, m, p, p 为素数 把 n, m 拆解为 p 进制 \[ n=n_0*p^0+n_1*p^1+...+n_k*p^k\\ m=m_0*p^0+n_1*p^1+...+m_k*p^k\\ 阅读全文
posted @ 2022-05-19 19:58 hzy0227 阅读(32) 评论(0) 推荐(0) 编辑
摘要:中国剩余定理 构造法(只适用模数两两互质的情况,CRT的本质思想) 对于解线性同余方程组 useless,因为完全可以被增量法代替 但是揭示了若模数两两互质,则线性同余方程组一定有解。 若模数为合数 q, \(q=p_1^{e_1}*p_2^{e_2}*p_3^{e_3}*...p_k^{e 阅读全文
posted @ 2022-05-19 19:57 hzy0227 阅读(82) 评论(0) 推荐(0) 编辑
摘要:扩展欧几里得算法 对于 ax+by=m, 可用 exgcd 求出 d=gcd(a,b) dm ,无解 dm, 则 exgcd 可解出 ax+by=d 的两个解 xx,yy 令 \(a'=\frac ad,\;b'=\fra 阅读全文
posted @ 2022-05-19 19:56 hzy0227 阅读(18) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示