摘要:
这里主要介绍 \(P(A)\) 概率函数。 \(P(A)\) 事件 \(A\) 发生的概率,也就是可能次数 \(\div\) 总计次数。 \(P(A\cup B)\),也就是事件 \(A\) 和事件 \(B\) 至少一个发生的概率。\(P(A\cup B)=P(A)+P(B)-P(AB)\)(当做 阅读全文
posted @ 2026-10-12 21:35
Ivan422
阅读(4)
评论(0)
推荐(0)
摘要:
初赛常考知识点:哈夫曼编码。 省流:合并果子,看前缀。 我们首先会得到一个频率数组 \(w=\set{2,3,5,7}\)。然后我们要对这个频率数组建立一个哈夫曼树,其实就是类似启发式合并的东西。首先合并两个最小的数,其中小的作为左子树,大的作为右子树(如 \(\text{T1}\ \color{o 阅读全文
posted @ 2026-10-12 21:34
Ivan422
阅读(3)
评论(0)
推荐(0)
摘要:
算法简介 这个算法是一种将无向图转换成树的算法,一般适用于仙人掌图(每一条边至多只在一环上的图),可能可以适用一般无向图。 生成方式 圆方树首先把图里的每一个点双连通分量作为一个方点,原来的点作为一个圆点,再把圆点和方点连接起来,就可以构造出一颗圆方树,如 OIwiki 图,总点量则变成 \(n+c 阅读全文
posted @ 2026-10-12 21:33
Ivan422
阅读(4)
评论(0)
推荐(0)
摘要:
题目大意:对于所有的 \(n\) 个点,是否可以以 \(i\) 点为起点走一条欧拉序列,使得给定的序列是其子序列。 我们发现题目给定的是树结构。这时候,走进一个子树就必须走完子树,才能出来。这时,当我们发现有一点访问次数 \(>2\),显然就不合法了。我们把访问拆分成入访问和出访问。当曾经进入过一个 阅读全文
posted @ 2026-10-12 21:31
Ivan422
阅读(3)
评论(0)
推荐(0)
摘要:
题目大意:\(n\) 个球可以放在前 \(a_i\) 个位置,选不超过 \(m\) 个球,贡献是一个箱子内没有两个球的方案数,并且我们不能选择距离 \(<k\) 的两个球。求最大贡献。 思路:注意到贡献是好求的。将所选 \(a_i\) 排序,贡献就是 \(\prod_{i=1}^m(a_i-i+1) 阅读全文
posted @ 2026-10-12 21:29
Ivan422
阅读(2)
评论(0)
推荐(0)
摘要:
定义 博弈有以下几种: 合作博弈 对称博弈 收益是否对称。 零和博弈 收益是否互补。 顺序博弈 顺序区别。 完美博弈 是否知道全部信息。 信息博弈 是否知道规则信息。 一般解决的是非完美信息博弈,也就是 Alice 和 Bob 玩游戏。 博弈图 感性理解:一个决定胜负的图。具体的,对于每一个博弈状态 阅读全文
posted @ 2026-10-12 21:26
Ivan422
阅读(6)
评论(0)
推荐(0)
摘要:
续集。 形如如下的式子: \[\max(S)=\sum_{T\subseteq S,T\neq \varnothing} (-1)^{|T|-1}\min(T) \]同理: \[\min(S)=\sum_{T\subseteq S,T\neq \varnothing} (-1)^{|T|-1}\ma 阅读全文
posted @ 2026-10-12 21:23
Ivan422
阅读(3)
评论(0)
推荐(0)
摘要:
点分治 一种维护树上问题的算法,要求是一次查询的路径问题。这个算法通过找重心,然后从重心开始分治子树,再统计答案,而计算问题答案的算法。 具体的,我们每一次从重心开始分治,复杂度总是优于 \(\mathcal O(n\log_2n)\),这是因为重心的性质。这样,大部分的点就可以被扫过,就可以进行维 阅读全文
posted @ 2026-10-12 21:19
Ivan422
阅读(3)
评论(0)
推荐(0)
摘要:
序 为了在博客园上渲染洛谷的折叠块,epigraph 和 align 功能,我使用 AI 工具的辅助编写了一个插件,并将其改写成了 Html,使其能在 SimpleMemory 这样的高度配置化且深度重构 Markdown 的主题下运行。 使用方法非常简便。你可以在我本人的博客园博客上查看渲染效果, 阅读全文
posted @ 2026-10-12 14:31
Ivan422
阅读(7)
评论(0)
推荐(0)
摘要:
此文为复习专用 我去我还写过这么唐的东西。 定义 线段树是一种可以处理区间问题的数据结构。它通过以树结构映射数组,达到一种把区间问题转化成树上问题目的的数据结构。我们常用的是递归二叉式的线段树。具体的,我们可以把 \([1,10]\) 这个区间作为一个端点 \(\color{blue}1\),这个时 阅读全文
posted @ 2026-10-12 12:00
Ivan422
阅读(4)
评论(0)
推荐(0)
摘要:
哦不终于学会 FHQ Treap 了。 FHQ Treap 的本质 这个东西其实就是 Treap 的一种实现。它通过对树的拆分和合并完成 Treap 能实现的几乎所有操作,操作又简单。每一次可以把原树拆分成以 \(rtl\) 和 \(rtr\) 为根两颗子树。然后再查询其中的一些信息做到成功维护信息 阅读全文
posted @ 2026-10-12 11:58
Ivan422
阅读(3)
评论(0)
推荐(0)
摘要:
莫队 对于不好直接维护的区间问题把问题离线下来,再通过较快的单点操作完成对问题的求解。 一般是维护两个当前查询指针 \(l\) 和 \(r\),每一次通过对 \(l\) 和 \(r\) 的变动,维护 \([l,r]\) 信息,动态求出每一次查询的 \([ql,qr]\) 信息。 最经典的例题就是 \ 阅读全文
posted @ 2026-10-12 11:56
Ivan422
阅读(4)
评论(0)
推荐(0)
摘要:
折半搜索 字面意思,从起点和终点同时搜,在中间碰面,复杂度可以由 \(2^n\) 降为 \(2\times2^{\frac{n}{2}}\)。 生日悖论 一个 \(n=10^9\) 点的随机图,要从 \(s\) 走到 \(t\),此时从 \(s\)、\(t\) 各访问 \(\sqrt{n}\) 个点 阅读全文
posted @ 2026-10-12 11:54
Ivan422
阅读(3)
评论(0)
推荐(0)
摘要:
说白了,就是 \(n\leq 30\),\(a\leq 10^9\) 求 \(a^b\equiv b^a(\bmod 2^n)\)。 我们发现这坨东西不好处理,所以我们考虑看 \(a\) 的奇偶性。为什么这样考虑呢?因为 \(a\bmod 2=1\) 的时候有显然的答案。 \(a\) 为奇数的情况 阅读全文
posted @ 2026-10-12 11:52
Ivan422
阅读(3)
评论(0)
推荐(0)
摘要:
有史以来最简单的 G 题。 题意:给你一个 \(H\times M\) 的地图,然后给你 \(K\) 个障碍物,问左上是否能走到右下。 首先直接走会超时,因为地图大小是 \(H\times M\leq 10^{10}\)。我们考虑转化这个问题,判断是否有一条墙壁完整挡住了地图。这时我们就需要分一下类 阅读全文
posted @ 2026-10-12 11:51
Ivan422
阅读(2)
评论(0)
推荐(0)
摘要:
一个求线性同余方程组的算法,如下: \[\begin{cases} x\equiv a_1(\bmod m_1) \\ x\equiv a_2(\bmod m_2) \\ x\equiv a_3(\bmod m_3) \\ \dots \end{cases} \]CRT 定理在互质条件下的解法 当 阅读全文
posted @ 2026-10-12 11:50
Ivan422
阅读(4)
评论(0)
推荐(0)
摘要:
题意:给你一个区间 \([l,r]\),设 \(a_i\) 是 \(1\) 到 \(i\) 的最小公倍数的值。问当 \(l\leq i\leq r\) 时出现过多少个不同的 \(a_i\),数据范围满足 \(1\leq l,r\leq 10^{14},r-l\leq 10^7\)。 这题我主要通过对 阅读全文
posted @ 2026-10-12 11:49
Ivan422
阅读(6)
评论(0)
推荐(0)
摘要:
二维数组(?) 定义 一个 \(m\times n\) 个数构成一个矩阵 \(\text{A}\),或者 \(\text{A}_{\text{mn}}\)。 \[\text{A}=\begin{bmatrix} a_{11} & a_{12} & a_{13} & \dots & a_{1n}\\ 阅读全文
posted @ 2026-10-12 11:47
Ivan422
阅读(5)
评论(0)
推荐(0)
摘要:
dp 好题。 给你一个长度为 \(n(n\leq 10^6)\) 的地图,是一个扫雷,其中 ? 不知道,求合法组数。 考虑一个线性的 dp。 我们发现一个格子的状态有 *,0,1,2,但是我们发现其中有一个 1 不是很好处理,这里我们可以把它拆分成 LEFT 和 RIGHT 表示左边有雷和右边有雷。 阅读全文
posted @ 2026-10-12 11:45
Ivan422
阅读(3)
评论(0)
推荐(0)
摘要:
算一个 ABC 比较常用的工具吧。 (严格)方法 \(1\) Astar + Dij 额这个就是用的 \(k\) 短路改的,\(k=2\)。 这个不用代码。 (严格)方法 \(2\) Dij 维护信息 就是在 Dij 的时候多维护一个次短路然后更新即可。 #include<bits/stdc++.h 阅读全文
posted @ 2026-10-12 11:44
Ivan422
阅读(2)
评论(0)
推荐(0)
摘要:
建议查看续集。 定义 网络(一个特殊有向图): 边权变为了流量(容量)记作 \(\text{c}(u,v)\),注意当 \(u\) 与 \(v\) 之间没有直接连边,那么 \(\text{c}(u,v)=0\)。 有两个特殊点:源点 \(s\),汇点 \(t\),要求 \(s\neq t\)。 流( 阅读全文
posted @ 2026-10-12 11:42
Ivan422
阅读(4)
评论(0)
推荐(0)
摘要:
怎么说,又是一道类欧? 只不过这个东西跟我们类欧的函数不太一样,考虑类欧的思想,进行辗转相除。 是这么一个东西,原式满足不等式: \[\frac{a}{b}<\frac{p}{q}<\frac{c}{d} \]取倒数: \[\frac{d}{c}<\frac{q}{p}<\frac{b}{a} \] 阅读全文
posted @ 2026-10-12 11:40
Ivan422
阅读(3)
评论(0)
推荐(0)
摘要:
好东西 qwq。 底层是红黑树,位于头文件 set。 定义 set<int>st,只有一个数据类型。 set<int>st(vec.begin(),vec.end()),直接拷贝迭代器区间。 set<int>st(st2),直接拷贝容器。 迭代器操作 共 \(6\) 个。详见容器通用迭代器。 ins 阅读全文
posted @ 2026-10-12 11:39
Ivan422
阅读(1)
评论(0)
推荐(0)
摘要:
查漏补缺。 begin(),cbegin(),rbegin(),crbegin() begin() 是指向第 \(1\) 个元素前一个的迭代器。 cbegin() 是 const 类型的,其他同上。 rbegin() 是指向最后 \(1\) 个元素的迭代器。 crbegin() 是 const 类型 阅读全文
posted @ 2026-10-12 11:37
Ivan422
阅读(1)
评论(0)
推荐(0)
摘要:
以前写过一篇匈牙利(增广路)算法,现在系统复习一下二分图。 定义 就是两排点,同一排之间两两不连边的图。 判断 可能不完全连通,从每一个新的点开始黑白染色判断即可。 #include<bits/stdc++.h> using namespace std; const int N=1010; int 阅读全文
posted @ 2026-10-12 11:36
Ivan422
阅读(3)
评论(0)
推荐(0)
摘要:
非常有质量的神仙虚树题。 点击图片打开题目。 这个链接被直接解析崩坏了,建议去原题那里看。 题意简述:给你 \(q\) 次查询,每一个点去最近的一个议会点,求之后每一个议会点来了多少个点。 考虑分类讨论: 虚树上点的归属: 分给自己。 分给父亲。 分给儿子。 其他点的归属: 只有一个固定归属点的。 阅读全文
posted @ 2026-10-12 11:32
Ivan422
阅读(4)
评论(0)
推荐(0)

浙公网安备 33010602011771号