手速拉满后,迅速秒了2道题,之后第三题,有个if没有包含if里头的语句,一直找bug没有找出来,最后差点崩溃,最后卡了10~20分钟后还是找出来了。(傻逼了)第四题ai+aj>bi+bj,可以转换下题意稍微变形ai-bi>bj-aj;然后再次变换ai-bi+(aj-bj)>0,好了,这样进行双指针,首尾一直扫就行了。。。一位老弟把LL定义在了局部,出bug了,最后还是让我找出问题来了。当时第四题我也没开LL也被t了一发(WA12),因为emmm它值为10^9范围,超出了int的范围了。血的代价,注意开整型,printf(“%lld\n”);以下是题解。
A
每次可以加一个1X2的小块进去,然后进行消除,我的沙雕做法是判断所有的两个之差为偶则可消除,刚看到大佬做法,只判断奇偶也可以,想来也是,判断没一列的奇偶,要么全奇,要么全偶,才有可能做差为偶。以下是ac代码
1 |
|
B
判断回文子序列,若某个数出现次数>=3,则必是回文子序列,若某个数字出现两次,且这个数字出现两次的位置不相邻,则也是回文子序列,骄傲的ac了一发。。。
1 |
|
C
C题是寻找最小跳的步幅,所以找到r可以停留,然后判断两个r之间的最大距离就行,然后最后判断一下n+1和找到的最右边的r的距离与最大距离再次比较一次,然后即为所求。
1 |
|
D
详细思路开头已经描述了
1 |
|
下面是枯燥却 有趣的补题环节了
E
//呜呜呜DP不会……