QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#735637#9713. Kill the treerose_DKY#WA 106ms40028kbC++201.2kb2024-11-11 21:03:542024-11-11 21:03:55

Judging History

你现在查看的是最新测评结果

  • [2024-11-11 21:03:55]
  • 评测
  • 测评结果:WA
  • 用时:106ms
  • 内存:40028kb
  • [2024-11-11 21:03:54]
  • 提交

answer

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
#define endl "\n"
const ll N=4e5+10;
ll n,d[N],up[N],cnt[N],re[N],ucnt[N],id[N];
vector<int>e[N];
void dfs1(int u,int from){
	cnt[u]=1;
	ucnt[u]=1+ucnt[from];
	
	for(int i=0;i<e[u].size();i++){
		int v=e[u][i];
		if(v==from)
			continue;
		
		dfs1(v,u);
		
		d[u]+=cnt[v]+d[v];
		cnt[u]+=cnt[v];
	}
}
void dfs2(int u,int from){
	for(int i=0;i<e[u].size();i++){
		int v=e[u][i];
		if(v==from)
			continue;
		up[v]=up[u]+n-cnt[u]+d[u]-d[v]-cnt[v]+cnt[u]-cnt[v];
		dfs2(v,u);
	}
}
void dfs3(int u,int from){
	for(int i=0;i<e[u].size();i++){
		int v=e[u][i];
		if(v==from)
			continue;
		
		dfs3(v,u);
		if(re[u]>re[v]){
			re[u]=re[v];
			id[u]=id[v];
		}
	}
}
void solve()
{
	cin>>n;
	for(int i=1;i<=n-1;i++){
		ll a,b;
		cin>>a>>b;
		
		e[a].push_back(b);
		e[b].push_back(a);
	}

	dfs1(1,0);
	dfs2(1,0);
	for(int i=1;i<=n;i++)
		re[i]=d[i]+up[i],id[i]=i;
	dfs3(1,0);
	for(int i=1;i<=n;i++){
		cout<<id[i]<<endl;
	}
//	for(int i=1;i<=n;i++){
//		cout<<d[i]<<' '<<up[i]<<endl;
//	}
}
int main()
{
	
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	
	int t = 1;
//	cin >> t;
	while (t--) {
		solve();
	}
	
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 106ms
memory: 40028kb

input:

200000
42924 18271
60536 154257
107175 95680
196335 71607
158051 155259
110869 30974
143595 43516
4228 138046
26249 183847
123888 199873
15009 25362
166527 175160
15257 67159
124779 199363
148904 54047
5988 18123
58281 40739
44562 143880
72819 132492
137782 29662
130741 78276
55073 93292
82700 18328...

output:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
...

result:

wrong answer 2nd numbers differ - expected: '134385', found: '2'