这场比赛的梯度相对上一场比赛较小,没有断崖式的难度跨越,但是每一题都很难(2蓝1紫1黑),远远超出了CSP-S的难度。所以我虽然只有15pts,但是却进了前10%。下面对这些题目进行赛后总结:
T1:一个弹的投
这题看起来是一个物理题啊。通过对于平抛运动的学习,可以发现:只有处于同一水平线(y相等)上的点才会相碰,那么我们就可以发现:对于两个y相等的点,若出发点在前的点的落地点在出发点在后的点的落地点之后,二者必然会相碰。然后我们敏感地察觉到:这就是逆序对。一个导弹地威力大小,就是其与前后的数构成的逆序对的个数。我们之前学过归并排序求逆序对个数,但那是求整个区间的逆序对个数。而对于在给定区间内求每个数与其它数构成的逆序对个数,则是一个动态问题,需要维护树状数组来解决。但是我代码能力比较差,写不出好代码,只能抄袭题解。
T2:一个仇的复(极其困难)
这题乍看起来是一个类似于DP的覆盖类问题(之前做过类似的状压DP类问题),但是数据范围很大(2e7)。所以我们要转换思路。看到这个题目要求精确覆盖,所以可以发现只有1×2的矩形才可以旋转,所以这个问题变成了考虑选取一些竖着的矩形,再选取一些横着的矩形“嵌入”相邻两个竖着的矩形之间。这样的问