专栏文章

B4429 [语言月赛 202511] 曼波 No More

B4429题解参与者 3已保存评论 2

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
2 条
当前快照
1 份
快照标识符
@min1wtx9
此快照首次捕获于
2025/12/01 19:13
3 个月前
此快照最后确认于
2025/12/01 19:13
3 个月前
查看原文

来源

2025 年 11 月语言月赛,由洛谷网校提供。
考察顺序结构。

文字题解

题目给定了一个 n×mn\times m 的网格,左上角格子的坐标为 (0,0)(0,0),右下角格子的坐标为 (n1,m1)(n-1,m-1),划分为若干个 r×cr\times c 的子网格。
根据题意,将划分出 nr\dfrac{n}{r}mc\dfrac{m}{c} 列的子网格。为了方便表述,并与原题中的坐标区分,在下面,我们用 [i,j][i,j] 表示划分出的,第 ii 行第 jj 列的子网格,在这里,i,ji,j 均从 00 开始计数。
很容易发现,[i,j][i,j] 对应的原网格坐标,横坐标范围为 i×ri×r+r1i\times r\sim i\times r + r-1,纵坐标范围为 j×cj×c+c1j\times c\sim j\times c + c - 1。因此,(x,y)(x,y) 将属于子网格 [xr,yc][\dfrac{x}{r}, \dfrac{y}{c}]
现在,给定了左上角为 (x1,y1)(x_1,y_1),右下角为 (x2,y2)(x_2,y_2) 的矩形区域。很容易计算出左上角属于子网格[x1r,y1c][\dfrac{x_1}{r}, \dfrac{y_1}{c}],右下角属于子网格 [x2r,y2c][\dfrac{x_2}{r}, \dfrac{y_2}{c}]
因此,包含或相交的子网格共有 (x2rx1r+1)×(y2cy1c+1)(\dfrac{x_2}{r}-\dfrac{x_1}{r}+1)\times(\dfrac{y_2}{c}-\dfrac{y_1}{c}+1) 个。
需要额外注意的是,这里的除法均为 C/C++ 中向 0 取整的整数除法,因而不能将答案式化简为 x2x1+rr×y2y1+cc\dfrac{x_2-x_1+r}{r}\times\dfrac{y_2-y_1+c}{c}

评论

2 条评论,欢迎与作者交流。

正在加载评论...