2018.12.08【NOIP提高组】模拟A组

T1:经典套路,把(Sn,Fn,Fn-1)作为矩阵,矩乘一遍就好了。

注意要判断负数的情况,考试时没有看到这个条件,只有70分。以后如果见到绝对值就要看看负数有没有影响。a[i]的值域也是很重要的,不能不看。

 

T2:暴力30分。这是一道思维题,正解不难,但有些绕。

首先明确一点,当我们固定了线段的高度之后,那么要求的就是每个点与他左边(或右边)最近的点之间的区间的点的个数,因为这样可以保证当前点的颜色没有选。

然后,我们假设直线在最下方,预处理出每一个点的left和right以及最初的树状数组。然后每次往上删掉同一层的点,合并区间同时统计新区间的答案。最后把所有的y取相反数再做一遍即可。

注意若有几个颜色相同的点的x相同,那么只取最上方的点做left和right操作。‘

这题确实是一道技巧题。

 

T3:博弈+dp。

首先转换为NIM问题。我们把每一对黑白棋之间的距离看作是每一堆石子的个数,然后问题转换为有k/2堆石子,A、B两个人每次可以从中选d堆石子,每一堆取走任意个,最终没得取的人输。因为白棋只能往左移,黑棋只能往右移。

你可能感兴趣的:(【NOIP提高组】模拟A组)