02 2022 档案
摘要:#题目传送门 分析 本题其实可以拆解程两个问题,求区间最大值、求区间最小值。 而这两个操作都必须在 内完成。 自然想到线段树。 细节问题 线段树需要维护两个信息:区间最大值、区间最小值。 输入完数据后,建树。然后遍历序列,求区间最大值最小值之差,再判断是否大于
阅读全文
摘要:题面 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过 元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表
阅读全文
摘要:题目 如题,给出一个 次函数,保证在范围 内存在一点 ,使得 上单调增, 上单调减。试求出 的值。 思路 本题可以用导数做,(逃 首先,一个 次函数无非就是 一个这样的函数: \(f(x)=
阅读全文
摘要:可持久化线段树支持访问一个数组的历史版本。复杂度 。 基础 维护三个信息,左子树,右子树,权值。 int top; struct zxs{ int l,r,v; } tree[(1e6)<<2]; 建树 int build(int v,int l,int r){ v=++t
阅读全文
摘要:题目传送门 暴力做法 暴力,可得58分。吸氧可得92分。(总之不能A) #include <bits/stdc++.h> using namespace std; int n; int h[100005]; int main(){ ios::sync_with_stdio(false);cin.ti
阅读全文
摘要:题目传送门 多姿多彩的做法 暴力(非正解) 暴力还是很好打的。整体时间复杂度为 (极端情况, 为数列长度)。 线段树 考试的时候本来想这么写的,可是写挂了,我太弱了。 由于初始集合是 ,我们不需要写性能瓶颈(时间复杂度 )的建树,
阅读全文
摘要:考场实况 第一题用并查集+单调队列,用时20分钟,结果输出A.out,写成了D.out,当场懵。 第二题知道是 ,花了10分钟找规律,发现答案节点的度必须为1(这是哪门子规律),最后写了一个rand。拿了6分。 第三题不会。 第四题写了一个单调栈,没写出来(样例过了)。 第五题题目没
阅读全文
摘要:题面 给定一个 个点的树,请求出一个结点,使得以这个结点为根时,所有结点的深度之和最大。 一个结点的深度之定义为该节点到根的简单路径上边的数量。 分析 本题可以用树形DP做。 首先,把树按照链式前向星的方法保存。 然后考虑第 个点的深度来DP,先求 ,然后往下
阅读全文
摘要:存图 存图一般分为两种,邻接矩阵与邻接表(链式前向星)。 邻接矩阵 邻接矩阵比较简单,就是定义一个二维数组 ,然后 就是代表有一条有向边 。 空间复杂度为 , 为节点数。 示例代码如下: struc
阅读全文