对固定行 iii,把所有满足 Cj≥N−Ri+1C_j\ge N-R_i+1Cj≥N−Ri+1 的列染黑。
由于 CCC 是 111 到 NNN 的排列,这样的列恰有 RiR_iRi 个,所以每一行的黑格数正确。再看固定列 jjj,满足 Ri≥N−Cj+1R_i\ge N-C_j+1Ri≥N−Cj+1 的行恰有 CjC_jCj 个,因此列和也正确。题目保证合法染色唯一,所以这就是目标网格。
于是询问格子 (r,c)(r,c)(r,c) 为黑色,当且仅当 Rr+Cc≥N+1R_r+C_c\ge N+1Rr+Cc≥N+1。
读入排列后对每个询问常数时间判断即可,时间复杂度为 O(N+Q)O(N+Q)O(N+Q),空间复杂度为 O(N)O(N)O(N)。
注册一个 Hydro 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 Hydro 通用账户