AT_abc420_f.[ABC420F] kirinuki

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个 N×MN \times M 的网格。每个格子中包含 . 或 #。
关于每个格子的符号信息由 NN 个字符串 S1,S2,…,SNS_1,S_2,\dots,S_N 给出,其中 SiS_i 的第 jj 个字符表示从上往下第 ii 行、从左往右第 jj 列的格子中写的符号。
请你计算有多少个至多包含 KK 个格子的矩形区域,且该区域内所有格子均为 .。

形式化地,计算满足以下条件的整数四元组 (lx,rx,ly,ry)(l_x,r_x,l_y,r_y) 的个数:

  • 1≤lx≤rx≤N1 \le l_x \le r_x \le N
  • 1≤ly≤ry≤M1 \le l_y \le r_y \le M
  • (rx−lx+1)×(ry−ly+1)≤K(r_x-l_x+1) \times (r_y-l_y+1) \le K
  • 对于所有满足 lx≤i≤rxl_x \le i \le r_x 且 ly≤j≤ryl_y \le j \le r_y 的整数对 (i,j)(i,j),第 ii 行第 jj 列的格子中为 .。

输入格式

输入按如下格式从标准输入给出:

NN MM KK
S1S_1
S2S_2
⋮\vdots
SNS_N

输出格式

输出满足条件的矩形区域的个数。

输入输出样例

  • 输入#1

    3 3 4
    #..
    ...
    ..#

    输出#1

    19
  • 输入#2

    7 5 35
    .....
    .....
    .....
    .....
    .....
    .....
    .....

    输出#2

    420
  • 输入#3

    10 9 25
    #.....#..
    ....#....
    .......#.
    .........
    .......#.
    .#.......
    .........
    #........
    ........#
    .#.....#.

    输出#3

    984

说明/提示

样例解释 1

需要计数的 1919 个矩形区域如下:

  • 由 (lx,rx,ly,ry)=(1,2,2,3)(l_x,r_x,l_y,r_y) = (1,2,2,3) 表示的矩形区域
  • 由 (lx,rx,ly,ry)=(2,3,1,2)(l_x,r_x,l_y,r_y) = (2,3,1,2) 表示的矩形区域
  • 由 (lx,rx,ly,ry)=(2,2,1,3)(l_x,r_x,l_y,r_y) = (2,2,1,3) 表示的矩形区域
  • 由 (lx,rx,ly,ry)=(1,3,2,2)(l_x,r_x,l_y,r_y) = (1,3,2,2) 表示的矩形区域
  • 44 个仅包含 . 的 11 行 22 列的矩形区域
  • 44 个仅包含 . 的 22 行 11 列的矩形区域
  • 77 个仅包含 . 的 11 行 11 列的矩形区域

数据范围

  • NN、MM、KK 均为整数。
  • 1≤N,M≤5×1051 \le N, M \le 5 \times 10^5
  • 1≤N×M≤5×1061 \le N \times M \le 5 \times 10^6
  • 1≤K≤N×M1 \le K \le N \times M
  • SiS_i 是长度为 MM 的、仅包含 . 和 # 的字符串。

由 ChatGPT 4.1 翻译

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

首页