随笔分类 -  ACM

上一页 1 2 3 4 5 6 7 8 下一页

网络流学习总结(最大流)
摘要:[TOC] 概念 网络流  网络流是指给定一个有向图,其中有两个特殊的点: 源点 $s$(Source)和 汇点 $t$(Sink);每条边都有一个指定的流量上限,即容量(Capacity),经过这条边的流量不能超过容量,这样的图被称为网络流图。同时,除了源点和汇点外,所有点的入流和出流都 阅读全文

posted @ 2019-09-02 19:15 solvit 阅读(592) 评论(0) 推荐(0)

HDU6025 Coprime Sequence(gcd)
摘要:"HDU6025 Coprime Sequence" 处理出数列的 $gcd$ 前缀和后缀,删除一个数后的 $gcd$ 为其前缀和后缀的 $gcd$ 。 遍历数列取 $max$ 即为答案。 时间复杂度为 $O(n)$ 。 include using namespace std; const int 阅读全文

posted @ 2019-09-02 14:23 solvit 阅读(127) 评论(0) 推荐(0)

HDU6030 Happy Necklace(推导+矩阵快速幂)
摘要:[HDU6030 Happy Necklace](http://acm.hdu.edu.cn/showproblem.php?pid=6030) 推导或者可以找规律有公式:$f[n] = f[n-1] + f[n-3]$ 。 阅读全文

posted @ 2019-09-02 10:54 solvit 阅读(137) 评论(0) 推荐(0)

威尔逊定理总结
摘要:威尔逊定理  当且仅当 $p$ 为质数时,$(p 1)! \equiv 1(mod\ p)$ 。即: $p$ 为质数 $\Leftrightarrow (p 1)! \equiv 1(mod\ p)$ 。 威尔逊定理的证明 必要性 易得:$(p 1)!\equiv 1(mod\ p)\Le 阅读全文

posted @ 2019-08-30 19:29 solvit 阅读(258) 评论(0) 推荐(0)

卢卡斯定理总结
摘要:卢卡斯定理  Lucas定理是用来求组合数 $c(n,m) mod\ p$ , $p$ 为素数 的值。被用来做大组合数取模。 我们令 $n = sp + q, m = tp + r$ ,其中 $q, r 0, p f$ 。 然后,我们又有: $$\begin{split} (1+x)^n 阅读全文

posted @ 2019-08-30 11:28 solvit 阅读(507) 评论(0) 推荐(0)

扩展欧几里得总结
摘要:贝祖定理  如果 $a,b$ 是整数,那么一定存在整数 $x,y$ 使得 $ax+by=gcd(a,b)$ 。 判断有解性  如果 $ax+by=m$ 有解,那么 $m$ 一定是 $gcd(a,b)$ 的若干倍。如果 $ax+by=1$ 有解,那么 $gcd(a,b)=1$ 。 阅读全文

posted @ 2019-08-29 23:53 solvit 阅读(135) 评论(0) 推荐(0)

HDU2602 Bone Collector(01背包)
摘要:"HDU2602 Bone Collector" 01背包模板题 阅读全文

posted @ 2019-08-29 17:10 solvit 阅读(114) 评论(0) 推荐(0)

HDU6715 算术(莫比乌斯反演)
摘要:"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} 阅读全文

posted @ 2019-08-28 13:51 solvit 阅读(152) 评论(0) 推荐(0)

莫比乌斯反演总结
摘要:[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 = 阅读全文

posted @ 2019-08-27 15:55 solvit 阅读(272) 评论(0) 推荐(0)

POJ2395 Out of Hay(求最小生成树中最大的边权,Kruskal)
摘要:"POJ2395 Out of Hay" 寻找最小生成树中最大的边权。 使用 Kruskal 求解,即求选取的第 $n 1$ 条合法边。 时间复杂度为 $O(e\log e)$ 。 include include include using namespace std; const int maxn 阅读全文

posted @ 2019-08-26 17:07 solvit 阅读(162) 评论(0) 推荐(0)

HDU6719 Strassen(__int128)
摘要:"HDU6719 Strassen" 直接照题目模拟,数据范围最大不会超过 。 时间复杂度为 $O(\log n)$ 。 include using namespace std; const int mod = 1e9 + 7; __int128 ans; int t, a, b; long lon 阅读全文

posted @ 2019-08-25 22:53 solvit 阅读(262) 评论(0) 推荐(0)

HDU6702 ^&^(思维)
摘要:"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 阅读全文

posted @ 2019-08-24 21:26 solvit 阅读(290) 评论(0) 推荐(0)

洛谷P1288 取数游戏II(博弈)
摘要:"洛谷P1288 取数游戏II" 先手必胜的条件需要满足如下中至少 $1$ 条: 从初始位置向左走到第一个 $0$ 的位置,经过边的数目为偶数(包含 $0$ 这条边)。 从初始位置向右走到第一个 $0$ 的位置,经过边的数目为偶数(包含 $0$ 这条边)。 否则先手必败。 阅读全文

posted @ 2019-08-23 19:03 solvit 阅读(237) 评论(0) 推荐(0)

SG函数总结
摘要:[TOC] 基本概念 首先定义 $mex$ (minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如 $mex\{0,1,2,4\}=3$ 、$mex\{2,3,5\}=0$、$mex\{\}=0$ 。 对于任意状态 $x$ ,定义 $SG(x) 阅读全文

posted @ 2019-08-23 15:41 solvit 阅读(255) 评论(0) 推荐(0)

博弈论知识汇总
摘要:[TOC] $\text{ACM}$ 中涉及的博弈一般为 双人零和博弈 。 巴什博弈 巴什博弈 (Bash Game) 一堆 $n$ 个物品,两人轮流从这堆物品中取物,规定每次至少取一个,最多取 $m$ 个。最后取光者胜。 取胜法则  如果 $n=(m+1)r+s$ ,$r$ 为 阅读全文

posted @ 2019-08-22 12:16 solvit 阅读(850) 评论(0) 推荐(1)

洛谷P1441 砝码称重(搜索,dfs+bitset优化)
摘要:"洛谷P1441 砝码称重" $n$ 的范围为 $n \le 20$ ,$m$ 的范围为 $m \le 4$ 。 暴力遍历每一种砝码去除情况,共有 $n^m$ 种情况。 对于剩余砝码求解可以组合的重量种类数。使用bitset进行求解优化,第 $i$ 位为 $1$ 代表重量 $i$ 可以组合出来。$1 阅读全文

posted @ 2019-08-21 17:42 solvit 阅读(195) 评论(0) 推荐(0)

洛谷P1441 砝码称重(搜索,dfs+dp)
摘要:"洛谷P1441 砝码称重" $n$ 的范围为 $n \le 20$ ,$m$ 的范围为 $m \le 4$ 。 暴力遍历每一种砝码去除情况,共有 $n^m$ 种情况。 对于剩余砝码求解可以组合的重量种类数。简单dp求解。复杂度为 $O(n\times n\times m)$ 。 时间复杂度为 $O 阅读全文

posted @ 2019-08-21 17:28 solvit 阅读(196) 评论(0) 推荐(0)

洛谷P1242 新汉诺塔(dfs,模拟退火)
摘要:"洛谷P1242 新汉诺塔" 最开始的思路是贪心地将盘子从大到小依次从初始位置移动到目标位置。 方法和基本的汉诺塔问题的方法一样,对于盘子 $i$ ,将盘子 $1\to i 1$ 放置到中间柱子上,即 $6 from to$ 号柱子。基本递归实现。 但是贪心的优先将大盘移动到指定位置存在一些特殊情况 阅读全文

posted @ 2019-08-20 20:53 solvit 阅读(233) 评论(0) 推荐(0)

洛谷P1415 拆分数列(dp)
摘要:"洛谷P1415 拆分数列" 做两次dp求解。 记 $T(i,j)$ 表示从原数列下标 $i$ 取到 $j$ 的数字组成的数。 $d[i]$ 表示前 $i$ 个数字分成任意多个递增数且最后的数最小时,最后的数为 $T(d[i],i)$ 。初始化 $d[i] = 1$ ,转移方程式为 $d[i] = 阅读全文

posted @ 2019-08-20 15:52 solvit 阅读(240) 评论(0) 推荐(0)

洛谷P1546 最短网络 Agri-Net(最小生成树,Kruskal)
摘要:洛谷P1546 最短网络 Agri-Net 最小生成树模板题。 直接使用 Kruskal 求解。 复杂度为 $O(E\log E)$ 。 // 最小生成树, Kruskal #include<stdio.h> #include<string.h> #include<algorithm> using 阅读全文

posted @ 2019-08-19 19:56 solvit 阅读(177) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 下一页

导航