A. 飞行棋

由于题目中给出了一些奇怪的条件,所以大概可以想到暴力模拟这个过程迭代若干轮。

考虑如何比较好的进行迭代的过程,处理出一个数组 $f_{i,j}$ 表示在恰好第 $i$ 轮从 $j$ 这个位置走到 $n$ 的概率。

那么考虑随时维护一个数表示游戏还没结束的概率,每次加入一个数转移即可。

 

B. 字符串难题

由于是求并集的大小,可以考虑容斥,那么转化为求每个子集交集的大小。

这个东西只要依次考虑每一位,考虑当前有多少个问号还没被确定就可以了。

似乎不是很难,考场最后想到了正解,叕打不完了,自闭。

 

C. 障碍雷达

首先可以发现,收益是个初值为0的二次函数,代价是一次函数,那么可以猜想必然存在一种最优解,使得每个雷达要么选最大的纵坐标,要么不选。

所以就有了 $n^2$ 的暴力dp。考虑怎么优化这个玩意。

假如说按照 $x$ 排序,那么由于最大横坐标的不单调没有决策单调性,所以可以考虑按照 $x-y$ 排序。

于是就是裸的决策单调性优化了。

关于决策单调性的优化,题解的做法是用单调队列维护每个点的决策区间,通过二分维护。

简单的做法是类似 cdq 分治的方法,用分治区间的左边更新右边即可。