合集-【算法学习】
摘要:前言 oi-wiki 已讲的足够清晰 顺着思路看下去还是很简单的,我只列出代码展示。 我现在肯定不会这么说了,虽然考这个的概率还是很小但还是要记录的(学习是给自己学的,笔记是给自己记的) 笛卡尔树要满足堆和二叉搜索树的两个性质,而且他有两种键值 \(w,k\),分别是根节点大于子节点,左节点小于根节
阅读全文
摘要:简单介绍 学习笔记 悬线法,相当于有一个限高绳,向左向右找到不低于这个高度的左右边界。 例题 SP1805 例题 分类讨论: 当 \(i=1\),到达边界停止。 当 \(a_i>a_{i-1}\),低于高度,停止拓展。 当 \(a_i<=a_{i-1}\),可以扩展,直接继承 \(l_i=l_{l_
阅读全文
摘要:欧几里得算法 欧几里得算法又称辗转相除法,用来求两个数的最大公约数的算法。 省流:\(gcd(a,b)=gcd(b,a\mod b)\) 学习笔记 点击查看代码 #include <bits/stdc++.h> using namespace std; int a,b; int gcd(int x,
阅读全文
摘要:学习笔记 学习笔记 逆元 当 \(ax\equiv1\ (mod \ b)\) 称 \(x\) 为 \(a \mod b\) 的逆元,记作 \(a^{-1}\)。 求逆元 以下都是求逆元的方法,为了不那么无聊 给个例题做。 拓展欧几里得法 exgcd链接 虽然 exgcd 是为了求 \(ax+by=
阅读全文
摘要:小费马定理: 如果 \(p\) 是一个素数,且 \(a\) 是任意整数,则: \[a^p \equiv a \ (\text{mod} \ p) \]当 \(a\) 与 \(p\) 互质时,即 \(\gcd(a, p) = 1\), 则有:$$a^{p-1} \equiv 1 \ (\text{mo
阅读全文
摘要:其实三分和二分实现是一样的,但是为什么我还要写一下呢,因为我没学的时候感觉太可怕了,学了后发现也就那样,所以我要记录一下(水题解)。 原题链接 每次三分取 \(x\) 判断大小。 #include <bits/stdc++.h> using namespace std; #define ll lon
阅读全文
摘要:裴蜀定理 \(i|j\) 表示 \(i\) 是 \(j\) 的约数。 \(ax+by=c\),\(x,y\in \mathbb{Z}\),该等式成立的条件为 \(gcd(a,b)|c\)。 省流: \[ax+by=gcd(a,b) \]接下来证明一下: 设 \(s\) 为 \(gcd(a,b)\),
阅读全文
摘要:欧拉函数 定理 欧拉函数,即 \(\varphi(n)\),表示的是小于等于 \(n\) 和 \(n\) 互质的数的个数,详细定义看wiki。 欧拉函数其实就是容斥原理的应用,举个例子: 如 \(n=6\),\(1,2,3,4,5,6\) 是整个序列,我们将 \(6\) 的质因子 \(2\),\(3
阅读全文
摘要:将二维的点转化为一维的点,在对一维的点进行操作即可。
阅读全文
摘要:反悔贪心,先选择局部最优,当不断向后更新时发现前面的决策在现在来看并不优就进行调整过去决策进行调整到全局最优。
阅读全文