杂题选做

注:本文不包含近期做的全部题目,只是对比较好的题目进行记录。

[IAMOI R1] 明码标价

这种 trick 感觉一直不是很会。

考虑二分中位数,根据相对于中位数的大小变成 \(\pm 1\) 两类,关注到取值为 \(\pm 1\) 的数列中位数的性质,对数列和进行 dp。

[IAMOI R1] 走亲访友

神秘的欧拉回路构造题。

把原图补成欧拉图,具体措施就是在生成树上的点向父亲连边。

[CEOI 2020] 星际迷航

非常好题。

发现添加完传送门后可能改变的只有那些连接完可由必败点变成必胜点部分,考虑用换根 dp 处理出这一部分,然后发现每棵树相对于前一棵是等价的,所以构造矩阵写一个快速幂完事。

[AGC038F] Two Permutations

如果 \(A,B\) 没有排列的限制就是经典的最小割模型。

对于排列,将 \(P,Q\) 中的环缩掉,然后分开计算贡献即可。

所以还是经典的最小割模型。

[AGC044E] Random Pawn

我去 上哪找这么好的题!

先把原式转化成一个方程组状物。由于方程中有 \(\min\) 无法求解,考虑先把常数项去掉,变成一个数和 \(\frac{e_{i-1}+e_{i+1}}{2}\)\(\max\) 的形状。发现这个东西的几何意义就是 \(e_i\) 高于 \(e_{i-1}\)\(e_{i+1}\) 的中点,即为一个上凸壳!

有了这个不就做完了?

[CTS2024] 多方计算

神秘 \(n\) 人通信题。这题其实一直乱搞就完了。

首先想到一个人如果重复传送某一位的信息,那么有点浪费。所以我们尽量会先得到某一位的完整的和,在传递给下一个人。

但是一个人在前 \(i-1\) 秒都在坐牢,那么也有点浪费,所以可以先处理一些高位的和,这样就可以消除前面较小的位无法获得准确和的影响。

调调参就过了。

[HNOI2013] 切糕

经典模型,但现在才会(?)

由相邻各自的限制构造不能被砍掉的边,即将边容量设为 \(+ \infty\)

由此就把带邻项限制的分配集合问题变成了经典网络流模型。

[ARC176E] Max Vector

上一道题的扩展。

考虑按值域建点,\(\text{chkmax}\) 操作能够带来很好的性质,即操作后可以满足 \(x_i \le a_{i,j}\)。那么考虑将 \(x\) 正着连边,\(y\) 反着连边,再加上 \(x,y\) 的限制就变成了上一题的切糕模型。

[AGC034D] Manhattan Max Matching

这个 trick 太利害了。

考虑拆曼哈顿距离:\(dis = | \Delta x| + |\Delta y| = \max \{\Delta x + \Delta y, -\Delta x + \Delta y, \Delta x - \Delta y, -\Delta x -\Delta y\}\)

拆成 \(4\) 个点跑费用流。

[AGC031E] Snuke the Phantom Thief

考虑枚举选择的珠宝数量 \(k\),那么以“直线 \(x = a\) 左侧有 \(\le b_i\) 个点”这个条件为例子,那么可以转化为排序后第 \(b_i+1\) 的横坐标 \(> a\)

发现这样一转化就可以费用流了。

[NOIP 2017 提高组] 宝藏

状压 dp。会发现我们只关心当前生成树的点集以及叶子结点的集合,可以先预处理出

CF1681F Unique Occurrences

做法很多,这里考虑线段树分治做法。

枚举每种颜色产生的贡献:断开每种颜色的边,计算相邻连通块大小的乘积,那么这个就直接用线段树分治+可撤销并查集维护即可。

posted @ 2025-02-23 14:54  dyc2022  阅读(28)  评论(0)    收藏  举报
/* 设置动态特效 */ /* 设置文章评论功能 */ 返回顶端 levels of contents