摘要:
### 定义 对于两个点,LCA是它们的祖先(或自己)中距离他们最近的点 ### 不妙做法 查询 $O(n)$ #### 向上标记 Rt. 一个节点不断往父节点跑,标记节点 另一个节点也是往上跑碰到标记过的就是LCA #### 向上调整 Rt. 深度深的节点往上调,调到深度一样 如果调成一样了第一个 阅读全文
posted @ 2023-08-12 22:45
Hypoxia571
阅读(18)
评论(0)
推荐(0)
摘要:
给定一张 $n$ 个点、$m$ 条边的有向图,求 $1$ 号点到每个点的最短路径长度。 我们用 $dis_{i}$ 表示从点 $1$ 到点 $i$ 的最短距离。 + 初始化 $dis_{1}$ 为 $0$,其余为无穷大,搞一个队列并将起点入队 + 取队头 $x$,遍历它的出边 $x$ 至 $y_i$ 阅读全文
posted @ 2023-08-12 22:44
Hypoxia571
阅读(34)
评论(0)
推荐(0)
摘要:
### 随机数 ``` #include #include srand((unsigned)time(NULL)); ``` 之后可调用```rand()```函数,生产 $0$ ~ $32767$ 的整数 ### 对拍 写三个程序,正解,暴力和数据生成 整出来三个 exe 文件 建一个 bat 文 阅读全文
posted @ 2023-08-12 22:41
Hypoxia571
阅读(56)
评论(0)
推荐(0)
摘要:
#### 定义 若在$\mod p$ 意义下,对于一个整数 $a$ ,有 $a*x\equiv 1(\mod p)$,那么这个整数 $x$ 即为 $a$ 的乘法逆元,同时 $a$ 也为 $x$ 的乘法逆元。 #### 充要条件 $a$ 存在模 $p$ 的乘法逆元的充要条件是 $\gcd(a,p)=1 阅读全文
posted @ 2023-08-12 22:40
Hypoxia571
阅读(30)
评论(0)
推荐(0)
摘要:
## 最长公共子序列 ### 题目描述 给定长度为 $n$ 的数组 $a$,长度为 $m$ 的数组 $b$,求其最长公共子序列长度 ### DP $f[i][j]$ 表示 $a$ 前 $i$ 项和 $b$ 前 $j$ 项的最长公共子序列长度 因为如果我们要在序列尾巴上加元素是不跟前面选了什么有关系的 阅读全文
posted @ 2023-08-12 22:38
Hypoxia571
阅读(25)
评论(0)
推荐(0)
摘要:
## 最长上升子序列 ### 题目描述 给定一个长度为 $n$ 的数列 $a$,求其最长上升子序列长度 ### DP $O(n^2)$ $f[i]$ 表示以 $i$ 结尾的最长上升子序列 显然有 $f[i]=max(f[i],f[j]+1)$ 其中 $1\leq i \leq n,1\leq j\l 阅读全文
posted @ 2023-08-12 22:38
Hypoxia571
阅读(20)
评论(0)
推荐(0)
摘要:
给定一张 $n$ 个点、$m$ 条边的有向图,求 $1$ 号点到每个点的最短路径长度。 我们用 $dis_{i}$ 表示从点 $1$ 到点 $i$ 的最短距离。 + 初始化 $dis_{1}$ 为 $0$,其余为无穷大 + 找出点 $i$ ,满足 $dis_{i}$ 是未标记节点中 $dis$ 值最 阅读全文
posted @ 2023-08-12 22:37
Hypoxia571
阅读(42)
评论(0)
推荐(0)
摘要:
设 $f[i][j]$ 表示从第 $i$ 位开始 $2^j$ 的最值 很明显,有 $f[i][0]=a_i$ 还有 $f[i][j]=\max\{f[i][j-1],f[i+2^{j-1}][j-1]\}$ ### 预处理 ``` void prevwork() { for(int i=1; i<= 阅读全文
posted @ 2023-08-12 22:36
Hypoxia571
阅读(18)
评论(0)
推荐(0)
摘要:
### 01背包 给定 $n$ 件物品,每个物品有重量 $w_{i}$ 和价值 $c_{i}$,一个物品只有一件,求容量不超过 $m$ 的背包最多可以装多少价值物品 定义 $f_{i,j}$ 表示前 $i$ 件物品在容量不超过 $j$ 的背包下可以获得的最大价值则有 $f_{i,j}=\max\{f 阅读全文
posted @ 2023-08-12 22:33
Hypoxia571
阅读(23)
评论(0)
推荐(0)
摘要:
动态维护中位数 开一个大根堆一个小根堆,一个用于维护较小的一半的最大值,一个用于维护较大一半的最小值,每次输入之后通过调整堆保证两半区分,时间复杂度为 $O(\log n)$ 具体而言,有如下步骤: + 建立一个大根堆 $lt$,一个小根堆 $rt$ ,中位数 $mid$ + 对于一个新数 $x$, 阅读全文
posted @ 2023-08-12 22:25
Hypoxia571
阅读(19)
评论(0)
推荐(0)

浙公网安备 33010602011771号