UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#213508#2769. 覆盖WZRYWZWY6028ms8448kbC++111.3kb2024-11-12 19:08:082024-11-12 23:07:21

answer

#include<bits/stdc++.h> // https://blog.csdn.net/weixin_41100093/article/details/87857685
//菜到只会用原题了 qwq
using namespace std;
const int maxn = 1e5+5;
int n, m;
set<int>Q[maxn];
vector<int>M[maxn];
vector<int>res;
int ans[maxn], tot = 0;
void dfs(int u, int fa){
    for(int i=0;i<M[u].size();++i){
        int v = M[u][i];
        if(v != fa){
            dfs(v, u);
            if(Q[u].size() < Q[v].size()) swap(Q[u], Q[v]);
            for(auto t : Q[v]){
                if(Q[u].find(t) != Q[u].end()){
                    ans[u] = 1;
                    break;
                }else{
                    Q[u].insert(t);
                }
            }
        }
    }
    if(ans[u] == 1){
        res.push_back(u);
        tot++; Q[u].clear();
    }
}
int main(){
    cin >> n;
    int u, v;
    for(int i=1;i<n;++i){
        scanf("%d %d", &u, &v);
        M[u].push_back(v);
        M[v].push_back(u);
    }
    cin >> m;
    for(int i=0;i<m;++i){
        scanf("%d %d", &u, &v);
        if(u == v){
            ans[u] = 1; continue;
        }
        Q[u].insert(i);
        Q[v].insert(i);
    }
    dfs(1, 0);
    cout << res.size() << endl;
    for(int i = res.size() - 1; i >= 0; i--){
        printf("%d ", res[i]);
    }
    return 0;
}

Details

小提示:点击横条可展开更详细的信息

Subtask #1:

score: 30
Accepted

Test #1:

score: 30
Accepted
time: 3ms
memory: 8348kb

input:

20
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
16 13
17 15
18 16
19 17
20 18
...

output:

2
3 10 

result:

ok ok

Test #2:

score: 0
Accepted
time: 4ms
memory: 8352kb

input:

20
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
16 15
17 16
18 17
19 18
20 19
...

output:

2
6 13 

result:

ok ok

Test #3:

score: 0
Accepted
time: 2ms
memory: 8356kb

input:

20
2 1
3 1
4 3
5 1
6 5
7 4
8 7
9 8
10 9
11 10
12 6
13 2
14 7
15 14
16 11
17 12
18 17
19 7
20 15
5
4 ...

output:

3
1 4 11 

result:

ok ok

Test #4:

score: 0
Accepted
time: 0ms
memory: 8352kb

input:

20
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
16 15
17 16
18 17
19 18
20 19
...

output:

2
5 11 

result:

ok ok

Test #5:

score: 0
Accepted
time: 0ms
memory: 8356kb

input:

20
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 6
10 8
11 10
12 11
13 11
14 12
15 13
16 9
17 15
18 16
19 16
20 17
1...

output:

6
1 3 19 7 10 17 

result:

ok ok

Test #6:

score: 0
Accepted
time: 0ms
memory: 8356kb

input:

20
2 1
3 2
4 3
5 3
6 5
7 4
8 6
9 8
10 7
11 7
12 10
13 12
14 13
15 9
16 14
17 16
18 16
19 17
20 15
12...

output:

3
9 4 13 

result:

ok ok

Test #7:

score: 0
Accepted
time: 2ms
memory: 8352kb

input:

20
2 1
3 1
4 2
5 3
6 4
7 5
8 6
9 7
10 8
11 9
12 10
13 11
14 10
15 14
16 10
17 13
18 4
19 18
20 4
2
1...

output:

2
5 8 

result:

ok ok

Test #8:

score: 0
Accepted
time: 0ms
memory: 8352kb

input:

20
2 1
3 2
4 3
5 4
6 5
7 4
8 7
9 6
10 9
11 8
12 11
13 10
14 10
15 12
16 14
17 13
18 17
19 14
20 18
4...

output:

2
4 10 

result:

ok ok

Test #9:

score: 0
Accepted
time: 0ms
memory: 8352kb

input:

20
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 8
12 10
13 12
14 8
15 13
16 8
17 8
18 16
19 15
20 11
12
8...

output:

3
3 8 10 

result:

ok ok

Test #10:

score: 0
Accepted
time: 4ms
memory: 8352kb

input:

20
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 7
10 9
11 10
12 8
13 11
14 12
15 13
16 14
17 15
18 16
19 18
20 19
1...

output:

2
7 12 

result:

ok ok

Subtask #2:

score: 30
Accepted

Test #11:

score: 30
Accepted
time: 0ms
memory: 8420kb

input:

1000
2 1
3 2
4 3
5 4
6 3
7 6
8 7
9 8
10 9
11 10
12 5
13 11
14 13
15 14
16 15
17 12
18 16
19 18
20 19...

output:

11
317 585 258 397 53 186 471 235 280 289 131 

result:

ok ok

Test #12:

score: 0
Accepted
time: 4ms
memory: 8424kb

input:

1000
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 12
16 14
17 16
18 17
19 18
20 1...

output:

16
179 561 114 154 822 418 96 315 526 110 610 109 152 463 285 469 

result:

ok ok

Test #13:

score: 0
Accepted
time: 0ms
memory: 8392kb

input:

1000
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
16 15
17 16
18 17
19 18
20 1...

output:

2
40 305 

result:

ok ok

Test #14:

score: 0
Accepted
time: 0ms
memory: 8424kb

input:

1000
2 1
3 2
4 3
5 4
6 4
7 5
8 6
9 7
10 8
11 9
12 11
13 10
14 12
15 14
16 13
17 15
18 16
19 17
20 18...

output:

15
77 218 391 738 410 111 277 460 164 36 281 161 236 408 577 

result:

ok ok

Test #15:

score: 0
Accepted
time: 2ms
memory: 8448kb

input:

1000
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
16 15
17 16
18 17
19 18
20 1...

output:

17
46 104 126 293 460 526 513 230 313 439 546 694 462 469 324 504 646 

result:

ok ok

Test #16:

score: 0
Accepted
time: 0ms
memory: 8388kb

input:

1000
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
16 15
17 16
18 17
19 18
20 1...

output:

6
18 168 311 114 201 651 

result:

ok ok

Test #17:

score: 0
Accepted
time: 2ms
memory: 8432kb

input:

1000
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 13
16 14
17 16
18 17
19 15
20 1...

output:

16
11 341 567 249 42 586 171 68 113 373 649 311 423 450 361 497 

result:

ok ok

Test #18:

score: 0
Accepted
time: 0ms
memory: 8396kb

input:

1000
2 1
3 2
4 3
5 4
6 5
7 6
8 6
9 8
10 9
11 7
12 11
13 10
14 12
15 13
16 15
17 14
18 15
19 18
20 16...

output:

4
15 437 387 167 

result:

ok ok

Test #19:

score: 0
Accepted
time: 0ms
memory: 8400kb

input:

1000
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
16 15
17 16
18 17
19 18
20 1...

output:

10
210 33 367 236 372 978 364 363 158 873 

result:

ok ok

Test #20:

score: 0
Accepted
time: 5ms
memory: 8396kb

input:

1000
2 1
3 2
4 3
5 4
6 5
7 6
8 3
9 8
10 9
11 10
12 11
13 7
14 12
15 13
16 7
17 14
18 17
19 15
20 16
...

output:

5
85 118 241 7 307 

result:

ok ok

Subtask #3:

score: 0
Runtime Error

Test #21:

score: 0
Runtime Error

input:

2000000
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 11
15 14
16 13
17 15
18 16
19 17
2...

output:


result: