Submission #76483004
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MAXQ = 3e5 + 5;
int n, q;
int tree[2][MAXQ];
int lastRow[MAXQ], lastCol[MAXQ];
void add(int op, int x, int v)
{
x++; // 时间从 0 开始,所以树状数组下标整体 +1
while (x <= q + 1)
{
tree[op][x] += v;
x += x & -x;
}
}
int sum(int op, int x)
{
x++;
int res = 0;
while (x > 0)
{
res += tree[op][x];
x -= x & -x;
}
return res;
}
// 统计时间 <= x 的数量
int count_leq(int op, int x)
{
return sum(op, x);
}
// 统计时间 < x 的数量
int count_less(int op, int x)
{
if (x == 0) return 0;
return sum(op, x - 1);
}
// 统计时间 > x 的数量
int count_greater(int op, int x)
{
return n - count_leq(op, x);
}
signed main()
{
cin >> n >> q;
// 初始时刻 0,所有行、列都还没操作过
add(0, 0, n); // 行的最后操作时间
add(1, 0, n); // 列的最后操作时间
int ans = 0;
for (int t = 1; t <= q; t++)
{
int op, x;
cin >> op >> x;
if (op == 1)
{
// 把第 x 行涂黑
int old = lastRow[x];
// 这行原来有多少黑格:lastCol < old
int before = count_less(1, old);
// 现在这行全部变黑,一共有 n 个黑格
ans += n - before;
add(0, old, -1);
add(0, t, 1);
lastRow[x] = t;
}
else
{
// 把第 x 列涂白
int old = lastCol[x];
// 这一列原来有多少黑格:lastRow > old
int before = count_greater(0, old);
ans -= before;
add(1, old, -1);
add(1, t, 1);
lastCol[x] = t;
}
cout << ans << '\n';
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - E-liter |
| User | nxzwcry |
| Language | C++23 (GCC 15.2.0) |
| Score | 475 |
| Code Size | 1961 Byte |
| Status | AC |
| Exec Time | 244 ms |
| Memory | 13504 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 475 / 475 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample-01.txt, sample-02.txt |
| All | 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, sample-01.txt, sample-02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 03.txt | AC | 1 ms | 3420 KiB |
| 04.txt | AC | 1 ms | 3492 KiB |
| 05.txt | AC | 159 ms | 5924 KiB |
| 06.txt | AC | 158 ms | 5872 KiB |
| 07.txt | AC | 1 ms | 3492 KiB |
| 08.txt | AC | 1 ms | 3440 KiB |
| 09.txt | AC | 160 ms | 5976 KiB |
| 10.txt | AC | 157 ms | 5896 KiB |
| 11.txt | AC | 189 ms | 8880 KiB |
| 12.txt | AC | 185 ms | 8328 KiB |
| 13.txt | AC | 160 ms | 8152 KiB |
| 14.txt | AC | 158 ms | 6016 KiB |
| 15.txt | AC | 1 ms | 3416 KiB |
| 16.txt | AC | 1 ms | 3840 KiB |
| 17.txt | AC | 1 ms | 3584 KiB |
| 18.txt | AC | 4 ms | 3720 KiB |
| 19.txt | AC | 36 ms | 4440 KiB |
| 20.txt | AC | 180 ms | 10760 KiB |
| 21.txt | AC | 180 ms | 8192 KiB |
| 22.txt | AC | 180 ms | 8148 KiB |
| 23.txt | AC | 189 ms | 9892 KiB |
| 24.txt | AC | 217 ms | 9808 KiB |
| 25.txt | AC | 189 ms | 9968 KiB |
| 26.txt | AC | 187 ms | 9900 KiB |
| 27.txt | AC | 189 ms | 11260 KiB |
| 28.txt | AC | 182 ms | 8320 KiB |
| 29.txt | AC | 232 ms | 12888 KiB |
| 30.txt | AC | 165 ms | 8088 KiB |
| 31.txt | AC | 233 ms | 13168 KiB |
| 32.txt | AC | 181 ms | 8156 KiB |
| 33.txt | AC | 236 ms | 13292 KiB |
| 34.txt | AC | 198 ms | 8592 KiB |
| 35.txt | AC | 236 ms | 13476 KiB |
| 36.txt | AC | 171 ms | 8132 KiB |
| 37.txt | AC | 234 ms | 13380 KiB |
| 38.txt | AC | 167 ms | 8296 KiB |
| 39.txt | AC | 234 ms | 13480 KiB |
| 40.txt | AC | 192 ms | 8924 KiB |
| 41.txt | AC | 188 ms | 8212 KiB |
| 42.txt | AC | 189 ms | 9932 KiB |
| 43.txt | AC | 188 ms | 9900 KiB |
| 44.txt | AC | 188 ms | 9896 KiB |
| 45.txt | AC | 190 ms | 11180 KiB |
| 46.txt | AC | 205 ms | 9896 KiB |
| 47.txt | AC | 207 ms | 9900 KiB |
| 48.txt | AC | 207 ms | 9936 KiB |
| 49.txt | AC | 209 ms | 11216 KiB |
| 50.txt | AC | 234 ms | 13484 KiB |
| 51.txt | AC | 231 ms | 13396 KiB |
| 52.txt | AC | 244 ms | 13412 KiB |
| 53.txt | AC | 227 ms | 13484 KiB |
| 54.txt | AC | 226 ms | 13484 KiB |
| 55.txt | AC | 242 ms | 13504 KiB |
| sample-01.txt | AC | 2 ms | 3352 KiB |
| sample-02.txt | AC | 1 ms | 3460 KiB |