摘要: P5029 T'ill It's Over 给定 \(n\) 个 1,用要求的操作使得其中尽可能多的数变成 \(k\)。 \(m\) 个不同操作,其中每个操作有限定次数 \(l\)。 操作分为四种类型: 给出 \(a,b\),把一个值为 \(a\) 的数变成 \(b\)。 给出 \(a_1,a_2, 阅读全文
posted @ 2022-05-26 13:20 AIskeleton 阅读(19) 评论(0) 推荐(0) 编辑
摘要: P6348 [PA2011]Journeys 有 \(n\) 个点,\(m\) 次连边,每次在两区间 \([a,b],[c,d]\) 的每两个点之间连一条无向边。 求问点 \(p\) 到达其余的每个点所需经过的最少路径数。 \(1\le n\le 5\times 10^5,1\le m\le 10^ 阅读全文
posted @ 2022-05-25 13:08 AIskeleton 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 网络最大流 前言 网络流是一种神奇的问题,在不同的题中你会发现各种各样的神仙操作。 而且从理论上讲,网络流可以处理所有二分图问题。 二分图和网络流的难度都在于问题建模,一般不会特意去卡算法效率,所以只需要背一两个简单算法的模板就能应付大部分题目了。 单纯只是为了A掉P3376 【模板】网络最大流,并 阅读全文
posted @ 2022-05-20 21:30 AIskeleton 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 线段树优化建图 起因 一般情况下,连边发生在两个点之间。 但在某些题目中,要在点和区间之间连边。 所以有了线段树优化建图。 原理 从模板题看起。 显然,直接暴力连边的最坏时间复杂度和空间复杂度都为 \(O(n^2)\)。 线段树建图的原理就是建出线段树,区间连边转化为向线段树上的节点连边。 但只是如 阅读全文
posted @ 2022-05-18 17:19 AIskeleton 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 题目 CF1313D Happy New Year 给定 \(n,m,k\) 和 \(n\) 个区间 \(\left[ l_i,r_i \right]\)。 对于一个长为 \(m\) 的初始值为 \(0\) 的序列 \(a\),在给定的 \(n\) 个区间中选择若干个,使序列 \(a\) 在区间 \ 阅读全文
posted @ 2022-05-18 13:16 AIskeleton 阅读(36) 评论(0) 推荐(1) 编辑
摘要: 光速幂 黑科技…… 使用情况 快速求 $a^b \bmod m$ 的值。 在幂运算的底数和取余的模数已经确定的情况下可以使用光速幂。 比如 P3747 [六省联考 2017] 相逢是问候 中需要用光速幂,否则很难卡过。 $\color{White}{\text{其实是因为那题才来学光速幂的}}$ 原 阅读全文
posted @ 2022-05-13 21:40 AIskeleton 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 拓展欧拉定理 内容 对于 \(a,m\in \mathbb{Z}\),有 \(a^b \equiv \begin{cases}a^b&b< \varphi(m) \\a^{\left( b \bmod \varphi(m) \right)+\varphi(m)}&b>\varphi(m)\end{c 阅读全文
posted @ 2022-05-12 10:16 AIskeleton 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 费马小定理 内容 如果存在一个质数 \(p\),保证 \(\gcd(a,p)=1\),则有 \(a^{p-1} \equiv 1 \pmod{p}\) 也就是说,对于一个质数 \(p\),除了这个质数的倍数之外的所有数 \(a\) 都满足 \(a^{p-1} \equiv 1 \pmod{p}\) 阅读全文
posted @ 2022-05-11 14:40 AIskeleton 阅读(132) 评论(0) 推荐(0) 编辑
摘要: P2350 [HAOI2012]外星人 给定一个表示为 \(\prod_{i=1}^m p_i^{q_i}\) 的数 \(N\)。 对于 \(N\),求出 \(x\) 满足 \(\begin{matrix}\underbrace{\varphi(\varphi(\varphi(\varphi(\do 阅读全文
posted @ 2022-05-09 13:22 AIskeleton 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 欧几里得与拓展欧几里得 欧几里得算法 欧几里得算法是一种快速求出最大公约数的算法。 内容 对于任意的两个整数 \(a,b\),其最大公约数 \(\gcd(a,b) = \gcd(b,a \bmod b)\)。 证明 对于 \(b>a\) 的情况 ,显然成立。 因此只考虑 \(b<a\) 的情况。设 阅读全文
posted @ 2022-05-09 12:24 AIskeleton 阅读(17) 评论(0) 推荐(0) 编辑