摘要:[TOC] 概念 网络流 网络流是指给定一个有向图,其中有两个特殊的点: 源点 $s$(Source)和 汇点 $t$(Sink);每条边都有一个指定的流量上限,即容量(Capacity),经过这条边的流量不能超过容量,这样的图被称为网络流图。同时,除了源点和汇点外,所有点的入流和出流都
阅读全文
摘要:"HDU6025 Coprime Sequence" 处理出数列的 $gcd$ 前缀和后缀,删除一个数后的 $gcd$ 为其前缀和后缀的 $gcd$ 。 遍历数列取 $max$ 即为答案。 时间复杂度为 $O(n)$ 。 include using namespace std; const int
阅读全文
摘要:[HDU6030 Happy Necklace](http://acm.hdu.edu.cn/showproblem.php?pid=6030)
推导或者可以找规律有公式:$f[n] = f[n-1] + f[n-3]$ 。
阅读全文
摘要:威尔逊定理 当且仅当 $p$ 为质数时,$(p 1)! \equiv 1(mod\ p)$ 。即: $p$ 为质数 $\Leftrightarrow (p 1)! \equiv 1(mod\ p)$ 。 威尔逊定理的证明 必要性 易得:$(p 1)!\equiv 1(mod\ p)\Le
阅读全文
摘要:卢卡斯定理 Lucas定理是用来求组合数 $c(n,m) mod\ p$ , $p$ 为素数 的值。被用来做大组合数取模。 我们令 $n = sp + q, m = tp + r$ ,其中 $q, r 0, p f$ 。 然后,我们又有: $$\begin{split} (1+x)^n
阅读全文
摘要:贝祖定理 如果 $a,b$ 是整数,那么一定存在整数 $x,y$ 使得 $ax+by=gcd(a,b)$ 。 判断有解性 如果 $ax+by=m$ 有解,那么 $m$ 一定是 $gcd(a,b)$ 的若干倍。如果 $ax+by=1$ 有解,那么 $gcd(a,b)=1$ 。
阅读全文
摘要:"HDU2602 Bone Collector" 01背包模板题
阅读全文
摘要:"HDU6715 算术" 莫比乌斯反演的变形。 对 $\mu(lcm(i,j))$ 变换,易得 $\mu(lcm(i,j)) = \mu(i)\cdot\mu(j)\cdot \mu(gcd(i,j))$ 。那么有: $$\begin{split} \sum_{i=1}^{n} \sum_{j=1}
阅读全文
摘要:[TOC] 莫比乌斯函数 定义 莫比乌斯函数 $\mu (n)$ 的定义为:设 $n = p_1^{k_1} \cdot p_2^{k_2} \cdot \cdots \cdot p_m^{k_m}$ ,其中 $p$ 为素数,则定义如下: $$\mu(n)= \begin{cases} 1& n =
阅读全文
摘要:"POJ2395 Out of Hay" 寻找最小生成树中最大的边权。 使用 Kruskal 求解,即求选取的第 $n 1$ 条合法边。 时间复杂度为 $O(e\log e)$ 。 include include include using namespace std; const int maxn
阅读全文
摘要:"HDU6719 Strassen" 直接照题目模拟,数据范围最大不会超过 。 时间复杂度为 $O(\log n)$ 。 include using namespace std; const int mod = 1e9 + 7; __int128 ans; int t, a, b; long lon
阅读全文
摘要:"HDU6702 ^&^" 目标为 $(A \oplus C) \& (B \oplus C) = 0$ ,易得: $A \& B=0$ 时:$C = 1$ 。 $A \& B\ne0$ 时:$C = A \& B$ 。 include using namespace std; int t; lon
阅读全文
摘要:"洛谷P1288 取数游戏II" 先手必胜的条件需要满足如下中至少 $1$ 条: 从初始位置向左走到第一个 $0$ 的位置,经过边的数目为偶数(包含 $0$ 这条边)。 从初始位置向右走到第一个 $0$ 的位置,经过边的数目为偶数(包含 $0$ 这条边)。 否则先手必败。
阅读全文
摘要:[TOC] 基本概念 首先定义 $mex$ (minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如 $mex\{0,1,2,4\}=3$ 、$mex\{2,3,5\}=0$、$mex\{\}=0$ 。 对于任意状态 $x$ ,定义 $SG(x)
阅读全文
摘要:[TOC] $\text{ACM}$ 中涉及的博弈一般为 双人零和博弈 。 巴什博弈 巴什博弈 (Bash Game) 一堆 $n$ 个物品,两人轮流从这堆物品中取物,规定每次至少取一个,最多取 $m$ 个。最后取光者胜。 取胜法则 如果 $n=(m+1)r+s$ ,$r$ 为
阅读全文
摘要:"洛谷P1441 砝码称重" $n$ 的范围为 $n \le 20$ ,$m$ 的范围为 $m \le 4$ 。 暴力遍历每一种砝码去除情况,共有 $n^m$ 种情况。 对于剩余砝码求解可以组合的重量种类数。使用bitset进行求解优化,第 $i$ 位为 $1$ 代表重量 $i$ 可以组合出来。$1
阅读全文
摘要:"洛谷P1441 砝码称重" $n$ 的范围为 $n \le 20$ ,$m$ 的范围为 $m \le 4$ 。 暴力遍历每一种砝码去除情况,共有 $n^m$ 种情况。 对于剩余砝码求解可以组合的重量种类数。简单dp求解。复杂度为 $O(n\times n\times m)$ 。 时间复杂度为 $O
阅读全文
摘要:"洛谷P1242 新汉诺塔" 最开始的思路是贪心地将盘子从大到小依次从初始位置移动到目标位置。 方法和基本的汉诺塔问题的方法一样,对于盘子 $i$ ,将盘子 $1\to i 1$ 放置到中间柱子上,即 $6 from to$ 号柱子。基本递归实现。 但是贪心的优先将大盘移动到指定位置存在一些特殊情况
阅读全文
摘要:"洛谷P1415 拆分数列" 做两次dp求解。 记 $T(i,j)$ 表示从原数列下标 $i$ 取到 $j$ 的数字组成的数。 $d[i]$ 表示前 $i$ 个数字分成任意多个递增数且最后的数最小时,最后的数为 $T(d[i],i)$ 。初始化 $d[i] = 1$ ,转移方程式为 $d[i] =
阅读全文
摘要:洛谷P1546 最短网络 Agri-Net 最小生成树模板题。 直接使用 Kruskal 求解。 复杂度为 $O(E\log E)$ 。 // 最小生成树, Kruskal #include<stdio.h> #include<string.h> #include<algorithm> using
阅读全文