摘要:
题目链接 本题解讲解环图的做法。 要将一个 \(1\sim n\) 的排列通过交换变成 \(1\sim n\),可以先将 \(i\) 向 \(a_i\) 连边,那么最终一定会练成若干个环(每个点只有一个出度,也只有一个入度)。 假设交换在同一个环中的节点,一个环显然会变成两个环,也就是说,交换一次最 阅读全文
摘要:
题目链接 先将所有作业按位置排序。 直接贪心显然是不行的,因为我们没有办法确定对于一个时间较久的作业,是在原地等待,还是在未来的某个节点返回,并且无法确定是那个节点,所以只能考虑 \(dp\)。 对于此类可以倒来倒去的问题,通常考虑区间 \(dp\),若设 \(f_{i,j}\) 表示完成区间 \( 阅读全文
摘要:
题目链接 首先可以想到设状态 \(k_1,k_2\) 表示小 \(a\) 和小 \(uim\) 分别表示他们目前取得的得分,那么最终的答案便是 \(k_1=k_2\) 的时候。 但是这样设置状态的复杂度无疑是高的。并且十分浪费,所以考虑设 \(z\) 表示 \(k_1-k_2\) 的值。那么 \(z 阅读全文
摘要:
矩阵是一种数学概念,在 \(OI\) 中有着重要应用。 一个矩阵有行,列,以及里面的数字。如图便是一个 \(2\) 行 \(3\) 列的矩阵: \[ \begin{bmatrix} 1 &2 &3\\ 4 &5 &6\\ \end{bmatrix} \] 矩阵数乘 \(\lambda A\) 就是将 阅读全文
摘要:
题目链接 看到这道题按照套路首先想到二分答案(即二分 \(q\) 位置上的数,记作 \(mid\))。 再按照套路将大于 \(mid\) 的数字设为 \(1\),将等于 \(mid\) 的数设为 \(2\),小于 \(mid\) 的数字设为 \(0\)。 那么对于区间 \([l,r,0]\) 操作, 阅读全文
摘要:
题目链接 要想使得数字 \(x\) 是中位数,就必须选出 \(k\) 个小于 \(x\) 的数和 \(k\) 个大于 \(x\) 的数。 我们考虑对数字附上特殊值,小于 \(x\) 的数赋值为 \(-1\),大于 \(x\) 的数赋值为 \(1\),\(x\) 则赋值为 \(0\),那么若一段包含 阅读全文
摘要:
[题目链接](https://www.luogu.com.cn/problem/P5021) 挺综合的一道题目。 询问最小值最大,考虑二分最小值,二分上下界是 $[最小边权,树的直径]$,但是为了方便我们直接设为 $[1,5\times 10^8]$ 即可。 考虑如何 $check$,可以采用类似树 阅读全文
摘要:
在NOI大纲中,树链剖分作为NOI级算法,在NOIP中显然是不会出现的,但是我们仍然有办法利用 $dfn$ 序等技巧,将某些特殊的信息维护转化为利用简单数据结构维护的情况。 ## 树上前缀和 通常来讲,对于树上连续信息的查询,我们肯定要用到前缀和思想,即:设 $d_u$ 表示节点 $u$ 到根节点的 阅读全文
摘要:
[题目链接](https://www.luogu.com.cn/problem/P4219) 可以发现,一条边 $(x,y)$ 的答案,就是 $x$ 不经过该边可达的点的数量(记作 $cnt_x$) $\times$ $y$ 不经过该边可达的点的数量(记作 $cnt_y$)。 尝试将这个式子转化,若 阅读全文
摘要:
[题目链接](https://www.luogu.com.cn/problem/AT_agc004_d) 躺在床上想到重要性质的题目。。。 首先,由于每个城市只有一个可以直接到达的城市,所以 $n$ 个城市就有 $n$ 条边,容易发现这是一棵基环树,那么我们先从普通树的角度考虑,若要求每个点走 $k 阅读全文
摘要:
[题目链接](https://www.luogu.com.cn/problem/P2431) 由于每个质量的月饼只有一个,并且质量恰好是2的整数倍,所以考虑将一个质量看成一个二进制位。 那么也就是说,我们要构造一个二进制数 $x$,使得 $x$ 的 $1$ 的个数最多,且满足 $a\le x \le 阅读全文
摘要:
>本文主要以例题讲解和贪心方法入手。 ## 邻项交换 当我们确定操作顺序,并按照题意模拟即可得出答案,就要用邻项交换的办法来确定最优的操作顺序。 ### [接水问题](https://www.luogu.com.cn/problem/P1223) 对于一个排队顺序 $T_1\sim T_n$,答案显 阅读全文
摘要:
[题目链接](http://oj.daimayuan.top/problem/464?locale=zh-cn) 可持久化平衡树看上去很行的样子,但是我不会啊。。。 先来考虑一个简化版的问题:求区间 $[1,n]$ 中 $\le H_i$ 的元素个数。 这显然是好做的,用权值树状数组就行。 回到本题 阅读全文
摘要:
# 非旋平衡树 FHQ-Treap 这里介绍的是非旋 $Treap$,即 $FHQ-Treap$,毕竟这个好写太多,而且支持各种操作。 $FHQ-Treap$ 包含两个重要操作:分裂和合并。 ### 分裂(split) 分裂指的是将一棵以 $root$ 为根节点的树,分裂成两棵分别以 $a,b$ 为 阅读全文