| 题目名称 | 4483. 彩色卡牌 |
|---|---|
| 输入输出 | card.in/out |
| 难度等级 | ★ |
| 时间限制 | 4000 ms (4 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 查看题解 | 分享题解 |
| 通过:4, 提交:10, 通过率:40% | ||||
|
|
100 | 8.567 s | 78.91 MiB | C++ |
|
|
100 | 9.850 s | 78.12 MiB | C++ |
|
|
100 | 11.978 s | 70.54 MiB | C++ |
|
|
100 | 19.921 s | 136.37 MiB | C++ |
|
|
40 | 33.481 s | 136.38 MiB | C++ |
|
|
0 | 0.007 s | 1.38 MiB | C++ |
|
|
0 | 1.531 s | 10.17 MiB | C++ |
|
|
0 | 2.858 s | 8.65 MiB | C++ |
|
|
0 | 3.304 s | 57.62 MiB | C++ |
|
|
0 | 41.007 s | 10.14 MiB | C++ |
| 本题关联比赛 | |||
| 2026.9.12 | |||
| 关于 彩色卡牌 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
2026-09-12 15:31
1楼
| ||||
弗兰茜和尼利在玩一种彩色卡牌,但是有问题需要你的帮助。
尼利随机抽取 $r \times c$ 张彩色卡牌并排成一个矩形,每一张卡牌有两个属性——颜色和点数。
在每一次游戏中,弗兰茜会挑选一个位置 $(x,y)$ 并也抽一张彩色卡牌作为自己的卡牌,并派出这张卡牌作战。若弗兰茜的卡牌点数大于等于这个位置的卡牌点数,就能赢得这个位置的卡牌,并将自己的卡牌放在那个位置。在这之后,如果弗兰茜的卡牌点数还大于等于其相邻位置牌的点数,就也能将相邻的牌赢下来。弗兰茜还可以让可以让自己的卡牌上下左右移动,但前提是移动到的地方原本的卡牌已经被赢了下来。
当然,一次游戏的结束发生在弗兰茜再也无法赢得任何卡牌时。而这一次游戏的得分就是赢得的卡牌的颜色种类数。
如果弗兰茜的卡牌点数小于弗兰茜所选位置的卡牌点数,她就一张牌都赢不下来。
不过,这样还是有些无聊,于是尼利会在中途用彩笔将某张卡牌涂成另一种颜色,这会影响这之后的每一次游戏。
每一次游戏后,他们会将矩形复原回游戏前的原本的样子。
但是这样使得游戏有些难,于是他们告诉你他们的操作,你需要求出每一次游戏弗兰茜的得分。
第一行三个整数,$r,c,q$,分别表示卡牌矩形的行数,列数以及两人的操作数。
接下来 $r$ 行,每行 $c$ 个整数,第 $i$ 行第 $j$ 个整数 $a_{i,j}$ 表示这个位置的卡牌的点数。
接下来 $r$ 行,每行 $c$ 个整数,第 $i$ 行第 $j$ 个整数 $b_{i,j}$ 表示这个位置的卡牌的颜色。
接下来 $q$ 行,输入为一下两种之一:
1.$[1,x,y,c]$,表示尼利将第 $x$ 行第 $y$ 列的卡牌颜色涂成了 $c$。
2.$[2,x,y,z]$,表示弗兰茜挑选第 $x$ 行第 $y$ 列开始了一次游戏,且她抽到的牌的点数为 $z$。
对于弗兰茜的每一次游戏,输出一行一个整数表示游戏得分。
2 2 3 2 2 1 1 1 2 3 4 2 2 1 1 1 2 2 3 2 2 1 1
2 1
对于 20% 的数据,保证 $q=1$。
对于另外 20% 的数据,保证 $r=1$。
对于 100% 的数据,保证 $1\le r,c \le 500,a_{i,j},b_{i,j},q \le 2.5 \times 10^5$。
P13084,注意与洛谷在输入格式和数据范围上的差异。