0%

并不想记叙那些太多细节,也没有那么多心力和时间去仔细地回忆。随手写几句这些年学习竞赛的感想,也算是认真地跟 OI 道个别吧。

也许这就是为什么学竞赛的女生很少吧?让一个多愁善感的人在这个多愁善感的年纪只是安安静静地做学问,简直是无法想象。学 OI 的这几年里我所追寻的不过是一种感觉而已:称其为“虐”也罢,称其为“追求挑战和刺激”也罢。那时候我还不懂得人间其实有温情在,只有对精神的堕落与死亡的恐惧会刺激我、让我振奋;于是没有麻烦也要制造麻烦,没有困难也要制造困难,总之绝对不能停下来(尽管当时的我根本不可能意识到“我在给自己找麻烦”这一点)。这是我所以选择了竞赛。

这样做的结果是,我在消灭麻烦这件事情上变得越来越强大,我却愈发不能和平地与自己相处。我所取得的成绩越好,我就越是用别的方式惩罚自己,比如生病,比如失眠,比如抑郁。只是因为我内心深处从不承认自己应该得到这些而已。只是因为我相信折磨(区别于“为了某个目标而奋斗”)真的应该成为我的主旋律而已。

Read more »

luogu P5437 【XR-2】约定

考虑每条边的贡献。所有生成树的边数和为 $n^{n-2} \cdot (n-1)$,原图中的边数为 $\frac{n(n-1)}{2}$,因为原图中每条边在最终的树中出现的概率是相同的,所以某条边出现在生成树中的概率为 $\frac{\frac{n^{n-2} \cdot (n-1)}{\frac{n(n-1)}{2}}}{n^{n-2}} = \frac{2}{n}$。

所以

Read more »

稍微转化一下题目:

  1. 把在商店之间行走的时间加到 $b_i$ 里面(也就是让所有的 $b_i$ 自增 1);由于最后一次购物之后不需要走到别的商店去,所以这样算出来的所需时间会多 1,所以让 $T$ 相应地加 1。
  2. 令 $t$ 为当前已经花费的时间,发现 $t’=t+ at + b =(a+1)t+b$,所以令 $a_i$ 自增 1;这样转化以后,已经用了 $t$ 时间后再在第 $i$ 家商店购物,结束的时间恰为 $a_it + b_i$。

考虑如果我们已经知道了在要在哪些商店购物,如何确定购物所需的最小时间:假设最优的购物顺序是第 $i$ 次去商店 $p_i$,则

Read more »

如果 $n\not \perp m$,则只有编号 $\bmod \{\gcd(n,m)\}$ 同余的编号才会互相影响,对每组同余的编号单独求解(相当于转化成了 $n\perp m$ 的问题)取最大值即可。

以下只考虑 $n\perp m$ 的情况。

观察:

Read more »

题解

能够排名第 $k$ 的一定满足:存在一个 $x$,使得分数比这个人高的人不超过 $k-1$ 个。可以枚举其它的每一个人,然后计算它比这个人优秀的 $x$ 区间,最后检查一下被覆盖次数最小的部分被覆盖了多少次即可。这样是 $O(n^2 \log n)$ 的。

由于 $m$ 很小,我们考虑对每个 $k\in [1,m]$ 分别求解。假设现在已经求出了排名为 $1$ 到 $k-1$ 的人,则排名为 $k$ 的人一定在剩下的人的半平面交上,并且让它能进队的 $x$ 也一定在半平面交中它贡献的线段上。对其它人求出:对于哪些 $x$,它会比半平面交上对应位置的直线优秀;由于半平面交的形状是个凸壳,所以这样的 $x$ 一定也会构成一个连续区间。而一个人的排名为 $k$ 的条件就是:半平面交中它贡献的线段上,存在整点 $x$,满足 $x$ 只被那些区间覆盖了不到 $k$ 次。时间复杂度 $O(nm\log n)$。

Read more »

A - 矩阵求和

答案是

把组合数拆开,用树状数组维护区间的 $\sum a_i i^j (j\in [0,maxk])$。

Read more »

考虑这样一个问题:有两棵边带权的树,以及若干条两个端点分别在两棵树上、有边权的边。求最小生成树。多次询问,每次给出两棵树之间的边,要求回答询问的复杂度与给出的边数相关。

一个暴力做法是动态最小生成树,每次尝试用新加的边替换掉原来的树上的边。

我们称连接两棵树的那些边的端点为关键点。观察到,对于树上的某条路径,如果任意的一对关键点之间的路径都包含它或者与它无交,那么这条路径上至多有一条边被新加入的边替换掉。因为一旦这条路径的某条边被替换掉(也就意味着这条路径被断开了),那么它将不再与任何的关键点之间的路径有交。

Read more »