BZOJ数学入门总结1
最近做了几道BZOJ数学水题,前来写写体会(dalao勿喷):
NO.1 BZOJ2463
一道博弈题:从(1,1)开始游戏,因为只能走上下左右,所以每个回合先手后手走的位置合起来就是一个 1*2 的长方形。所以这样就OK了:
如果棋盘总格数是奇数,则后手赢(因为除去第1格,还有偶数格,先手走一步,后手总能走一步),反之为偶数,则先手赢。(代码不过几行)
NO.2 BZOJ1303
一道和中位数有关的题目。因为中位数是一个序列中位置排在最中间的数,而且因为是排列,每个数只会出现一次,所以比中位数小的数的个数一定等于比中位数大的数的个数。因为是序列,连续的,所以以 b 为中分点,往两边分别预处理:左边预处理:设 a[i] 为左边比 b 小的数的个数减去比 b 大的数的个数;右边预处理:设 aa[i] 为左边比 b 大的数的个数减去比 b 小的数的个数,那么肯定 a[i]==aa[i] 。所以问题就迎刃而解了。。。
加油加油加油!!! fighting fighting fighting !!!