QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#202667#5531. ICCCamillus7 191ms4040kbC++201.3kb2023-10-06 12:55:362023-10-06 12:55:37

Judging History

你现在查看的是测评时间为 2023-10-06 12:55:37 的历史记录

  • [2024-07-01 04:28:23]
  • 管理员手动重测本题所有提交记录
  • 测评结果:7
  • 用时:171ms
  • 内存:4312kb
  • [2023-10-06 12:55:37]
  • 评测
  • 测评结果:7
  • 用时:191ms
  • 内存:4040kb
  • [2023-10-06 12:55:36]
  • 提交

answer

#include "bits/stdc++.h"
#include "icc.h"
using namespace std;

struct dsu {
    vector<int> p;
    vector<vector<int>> d;

    dsu(int n) {
        p.resize(n);
        d.resize(n);
        for (int i = 0; i < n; i++) {
            p[i] = i;
            d[i] = {i};
        }
    }

    int get(int u) {
        if (u == p[u]) {
            return u;
        } else {
            return p[u] = get(p[u]);
        }
    }

    void join(int u, int v) {
        u = get(u);
        v = get(v);
        if (u == v) {
            return;
        }
        if (d[v].size() > d[u].size()) {
            swap(u, v);
        }
        p[v] = u;
        d[u].insert(d[u].end(), d[v].begin(), d[v].end());
        d[v].clear();
    }
};

void run(int n) {
    dsu Q(n + 1);
    auto loop = [&]() {
        for (int u = 1; u <= n; u++) {
            for (int v = 1; v <= n; v++) {
                if (Q.get(u) != Q.get(v)) {
                    if (query(1, 1, &u, &v)) {
                        setRoad(u, v);
                        Q.join(u, v);
                        return;
                    }
                }
            }
        }
    };
    for (int i = 0; i < n - 1; i++) {
        loop();
    }
}

#ifdef LOCAL
int main() {
    int n;
    cin >> n;
    run(n);
}
#endif

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 7
Accepted

Test #1:

score: 7
Accepted
time: 54ms
memory: 3860kb

input:

1
1500 3
15

0
2

0.0
2.5

0
3.5

0

1 1

output:

3
Ok! 1470 queries used.

result:

points 1.0

Test #2:

score: 0
Accepted
time: 52ms
memory: 3968kb

input:

1
1500 4
15

0
0

0.0
3.5

0
2.5

5

1 1

output:

4
Ok! 1466 queries used.

result:

points 1.0

Subtask #2:

score: 0
Acceptable Answer

Test #3:

score: 0
Acceptable Answer
time: 182ms
memory: 4032kb

input:

1
2500 4
50

0
0

0.0
3.5

0
2.5

5

1 1

output:

0
Number of queries more than 5000 out of 2500

result:

points inf0

Subtask #3:

score: 0
Acceptable Answer

Test #6:

score: 0
Acceptable Answer
time: 191ms
memory: 4040kb

input:

1
2250 6
100

0.05
2.3

0.1
0.7

0
1.5

1.7

1.1 1

output:

0
Number of queries more than 4500 out of 2250

result:

points inf0

Subtask #4:

score: 0
Acceptable Answer

Test #10:

score: 0
Acceptable Answer
time: 165ms
memory: 3856kb

input:

1
2000 5
100

0.01
1.00

0.10
1.70

0.00
1.50

5.0

1.20 1

output:

0
Number of queries more than 4000 out of 2000

result:

points inf0

Subtask #5:

score: 0
Acceptable Answer

Test #14:

score: 0
Acceptable Answer
time: 149ms
memory: 3972kb

input:

1
1775 4
100

0.00
0.00

0.00
2.70

0.10
7.55

0.0

1.15 1

output:

0
Number of queries more than 3550 out of 1775

result:

points inf0

Subtask #6:

score: 0
Acceptable Answer

Test #20:

score: 0
Acceptable Answer
time: 137ms
memory: 3932kb

input:

1
1625 5
100

0.00
0.00

0.00
3.00

0.00
1.00

0.0

3 1

output:

0
Number of queries more than 3250 out of 1625

result:

points inf0