摘要: **思路:**由于递归每一层都计数[l, r]中1和0的个数复杂度太高,极限情况下,递归过程中计数的复杂度:\(1024^{11} = 2^{110}\),这里用前缀和记录一下1的个数,就可以每一层$O(1)$复杂度获得1的个数了,做法就是根据题目说的递归构造树,然后后续遍历 **空间大小问题:** 阅读全文
posted @ 2021-07-18 20:19 yys_c 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 第一次交的时候T了三个点,发现询问数量最大1e5, 当迷宫比较完美(从每一点开始都可以把整个迷宫跑一遍)的时候,这个复杂度为$1e5 * 1000*1000 = 10^{11}(O(n^2m))$,超时 如果一个位置A可以到达B,则A、B相互可达,并且从A和B出发能到达的位置数目相同,所以再搜索完一 阅读全文
posted @ 2021-07-18 20:18 yys_c 阅读(37) 评论(0) 推荐(0) 编辑
摘要: **思路:**一开始想的是改一下深搜的方式,让它只遍历矩形块,然后在下面的遍历中判断是否出现矩形块交叉,但是很难实现,然后发现可以通过在遍历过程中判断是否合法。 船体有交叉(连通块不是矩形)<=> 必定会在深搜过程中搜到如下的(a, b)位置(4种情况之一) 所以在搜到这种情况时,直接返回false 阅读全文
posted @ 2021-07-18 20:17 yys_c 阅读(73) 评论(0) 推荐(0) 编辑