2020.02.22【NOIP提高组】模拟A 组 总结

\(emmm\),考试不利\(emmm\)

估分:\(100 + 0 + 0 = 100\)
考场:\(50 + 0 + 0 = 50\)
唉,\(T1\)莫名错误。

\(T1\)

刚开始看的时候没什么思路。
去想了\(T2\)未果以后回来想\(T1\),发现数据中\(x[0,10^6]\),然后发现它只能向右走而且肯定能走到那个点。
想到了扫描线。随后由于矩形之间不相交,且一定留空。可以发现当过了矩形以后,一定是从矩形上面一点走下来或者是下面一点走上去。
我们可以用一棵线段树来维护走到\(yi\)的最小步数。然后对于修改,我们可以发现其实矩形左边一竖线是没有用的,因为不可能会用到那里的值,最多可能是用到它上面一点或者是下面一点。所以左边竖线我们不需要操作,对于右边竖线的话,只需要找出上面一点的值以及下面一点的值,然后找到中间一个位置使得这个为分界点(上面由上面走最优,下面由下面走最优)。但这个分界点考场不会找,只能大概找到,然后暴力移动\(emmm\)\(TLE\)预定。
然后是修改,修改竟然没有预想到这个分界点可能会超出矩形的范围,然后导致了\(WA\)(还好有\(50\)分)。
现在讲讲怎么找到那个分界点:
设走到上面一点的最小步数为\(up\),下面为\(down\)
我们可以发现,其实那个分界点应该为\((y1+y2+up-down)/2\)
其实就是将\(y1\)或者\(y2\)移动到一个位置,使得这个走到位置的值和另一个原来的值相同,然后再求重点。
\((y1+y2)/2+(up-down)\)则是错误的\(emmm\)

\(T2\)

这道题考场看了以后想到了

猜你喜欢

转载自www.cnblogs.com/jz929/p/12348093.html