AT_1_stpc2025_1_i.Subgrid Connected Components

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个 2N+12N+1 行 2N+12N+1 列的网格,这里 NN 是正整数。网格从上到下的第 ii 行、从左到右的第 jj 列的格子记作 (i,j)(i, j),满足 1≤i,j≤2N+11 \le i, j \le 2N + 1。在格子 (i,j)(i, j) 上写有字符 Si,jS_{i,j},且满足以下性质:

  • 当 ii 为奇数且 jj 为奇数时,$S_{i, j} = $ o
  • 当 ii 为奇数且 jj 为偶数时,$S_{i, j} = $ - 或 .
  • 当 ii 为偶数且 jj 为奇数时,$S_{i, j} = $ | 或 .
  • 当 ii 为偶数且 jj 为偶数时,$S_{i, j} = $ .

有 QQ 个独立的查询。第 ii 个查询(1≤i≤Q1 \le i \le Q)会给定四个奇数 Ui,Di,Li,RiU_i, D_i, L_i, R_i,其中 1≤Ui≤Di≤2N+1, 1≤Li≤Ri≤2N+11 \le U_i \le D_i \le 2N+1,\ 1 \le L_i \le R_i \le 2N+1,需要解答下述问题:

在子网格 [Ui,Di]×[Li,Ri][U_i, D_i] \times [L_i, R_i] 内,以字符 o 为顶点、字符 - 和 | 为边构成的无向图中,连通块(连通分量)的个数是多少?

具体而言,即需要回答下述问题:

考虑一个有 ((Di−Ui+2)/2)×((Ri−Li+2)/2)((D_i - U_i + 2) / 2) \times ((R_i - L_i + 2) / 2) 个顶点的无向图 GG,顶点为所有满足 Ui≤x≤DiU_i \le x \le D_i 且 xx 为奇数,以及 Li≤y≤RiL_i \le y \le R_i 且 yy 为奇数的点对 (x,y)(x, y)。此外,无向图 GG 仅包含以下无向边:

  • 若 xx、yy 为奇数,且 Ui≤x≤DiU_i \le x \le D_i,Li≤y≤Ri−2L_i \le y \le R_i - 2,并且 $S_{x,y+1} = $ -,则顶点 (x,y)(x, y) 和 (x,y+2)(x, y+2) 之间连有无向边。
  • 若 xx、yy 为奇数,且 Ui≤x≤Di−2U_i \le x \le D_i - 2,Li≤y≤RiL_i \le y \le R_i,并且 $S_{x+1,y} = $ |,则顶点 (x,y)(x, y) 和 (x+2,y)(x+2, y) 之间连有无向边。

试求该无向图 GG 的连通块数量。

输入格式

输入按照以下格式从标准输入读入:

NN
S1,1S_{1,1} S1,2S_{1,2} ⋯\cdots S1,2N+1S_{1,2N+1}
S2,1S_{2,1} S2,2S_{2,2} ⋯\cdots S2,2N+1S_{2,2N+1}
⋮\vdots
S2N+1,1S_{2N+1,1} S2N+1,2S_{2N+1,2} ⋯\cdots S2N+1,2N+1S_{2N+1,2N+1}
QQ
U1U_1 D1D_1 L1L_1 R1R_1
U2U_2 D2D_2 L2L_2 R2R_2
⋮\vdots
UQU_Q DQD_Q LQL_Q RQR_Q

输出格式

输出共 QQ 行,对于第 ii 个查询,在第 ii 行输出该查询的答案。

输入输出样例

  • 输入#1

    3
    o-o-o-o
    |.....|
    o-o.o.o
    |.|....
    o-o.o-o
    ....|.|
    o.o-o-o
    12
    3 5 1 7
    1 1 1 1
    1 3 1 3
    1 3 1 7
    1 1 1 1
    1 1 1 7
    1 7 1 1
    1 7 1 7
    3 5 3 5
    3 5 3 7
    3 7 3 7
    5 7 3 5

    输出#1

    4
    1
    1
    2
    1
    1
    2
    4
    3
    4
    4
    2

说明/提示

注意

本题的内存限制为 384 MiB。

样例解释 1

给定的网格如下所示。

对于第 11 个查询,答案如图所示为 44。

数据范围

  • NN 为整数
  • 1≤N≤20001 \le N \le 2000
  • 当 ii、jj 为奇数时,$S_{i, j} = $ o
  • 当 ii 为奇数、jj 为偶数时,$S_{i, j} = $ - 或 .
  • 当 ii 为偶数、jj 为奇数时,$S_{i, j} = $ | 或 .
  • 当 ii、jj 为偶数时,$S_{i, j} = $ .
  • QQ 为整数
  • 1≤Q≤70001 \le Q \le 7000
  • 1≤Ui≤Di≤2N+11 \le U_i \le D_i \le 2N+1
  • 1≤Li≤Ri≤2N+11 \le L_i \le R_i \le 2N+1
  • Ui,Di,Li,RiU_i, D_i, L_i, R_i 均为奇数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页