20200228(ABC)题解 by 马鸿儒

对于A:可以看到6次一个循环所以多余6次的直接舍去mod一下再for一波6次的就可以了复杂度近似O(1)
对于B:直接暴力,最少被揍那么我们就尽量对于第一个人的每一位相等的数字,不够用我们自己最小的数字填上更新答案,最多揍人就是尽量拿我们比对面大一的数字,没有就拿最少的填上,复杂度O(10N)
对于C:要找是否存在的话,我们先对于每一列染色预处理好每一列连续的不下降序列的颜色,把他们染成一个颜色,然后我们在遍历矩阵对于每一个位置如果他有颜色的话就更新这个颜色最靠下的位置,这个位置可以在染色的时候预处理出来,这样的话我们可以得到一个行的一维数组,对于每次询问看看询问的y是否小于等于当前预处理好的行的最右边界,这里特别要注意的一点是我们好多0的没有处理,所以特判l==r直接输出Yes这就是我之前wa44的原因,复杂度O(N*M)

posted @ 2020-03-01 22:30  浪在ACM  阅读(134)  评论(0编辑  收藏  举报