【codeforces|codeforces 1102D White Lines】题目链接:http://codeforces.com/contest/1200/problem/D
这题比赛时没想出来,赛后补题时想出来了,还是自己太菜了。。。
思路:这题按照暴力去做的话,时间肯定tle,所以我们得去优化。这题需要利用滑动窗口,利用滑动窗口,我们可以把时间降到O(N2),首先预处理每行每列的B的最大位置最小位置,然后接下来就可以去模拟了,我们想,题目给了一个边长为k的正方形可以覆盖,那么这一列(或一行)B的最大,最小位置是不是在边长为k的正方形内。这样就可以利用滑动窗口去搞了,我们用队列( 先进先出 )去模拟边长为k的窗口,就可以得到答案。注意我们先算出,原来就存在的白线有多少,模拟得时候不计这个答案。
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
转载于:https://www.cnblogs.com/feiyue-1779930274/p/11346142.html
推荐阅读