ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#214635 | #2376. 树与异或 | wanghanyu393 | 30 | 23ms | 24728kb | C++11 | 1.1kb | 2024-11-20 21:20:51 | 2024-11-20 23:07:56 |
answer
#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
#define int long long
const int N = 1e6 + 5, mod = 1e9 + 7;
int val[N];
vector<int>tree[N];
int ans;
void dfs(int step, int u, int fa){
ans ^= val[u];
//cout << val[u] << ' ';
//cout << ans << ' ';
if(step == 2) return;
for(auto v : tree[u]){
if(v == fa) continue;
//cout << ans << ' ';
dfs(step + 1, v, u);
}
}
void solve(){
int n, q;
cin >> n >> q;
for(int i = 1; i <= n; i++) cin >> val[i];
for(int i = 1; i < n; i++){
int u, v;
cin >> u >> v;
tree[u].push_back(v);
tree[v].push_back(u);
}
int res = 0;
for(int i = 1; i <= q; i++){
ans = 0;
int u, x;
cin >> u >> x;
val[u] = x;
dfs(0, u, 0);
//cout << ans << ' ';
res += ans * i * i;
res %= mod;
}
cout << res << '\n';
}
signed main(){
int t = 1;
//cin >> t;
while(t--){
solve();
}
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 11ms
memory: 24728kb
input:
1000 994 780089107 4670366 871010085 73730768 526852049 572589363 885190993 1049357301 450850404 460...
output:
503748432
result:
ok 1 number(s): "503748432"
Test #2:
score: 10
Accepted
time: 3ms
memory: 24728kb
input:
1000 999 26885995 181771373 378079250 245122183 660787775 479226046 575400611 257120086 214404794 48...
output:
301019013
result:
ok 1 number(s): "301019013"
Test #3:
score: 10
Accepted
time: 9ms
memory: 24724kb
input:
1000 994 978408146 31636243 945016735 512129400 92881624 689719983 649699545 964802847 100094796 941...
output:
250985726
result:
ok 1 number(s): "250985726"
Test #4:
score: 0
Time Limit Exceeded
input:
100000 99994 194640838 777315353 114710204 754050649 372592717 210279787 542056883 638262010 7998293...
output:
result:
Test #5:
score: 0
Time Limit Exceeded
input:
100000 100000 458877901 215980825 777376132 863774865 34430451 828397116 94813690 931300514 10548367...
output:
result:
Test #6:
score: 0
Time Limit Exceeded
input:
100000 99991 56406146 757409402 876799234 573444553 883023109 326033134 328116703 623771278 41269529...
output:
result:
Test #7:
score: 0
Time Limit Exceeded
input:
1000000 999998 814298729 663807029 628693441 45635199 148428014 913833778 1034283337 600802841 58045...
output:
result:
Test #8:
score: 0
Time Limit Exceeded
input:
1000000 999993 112899321 425466951 471078924 857561298 449437156 710041336 1033281580 23390934 44420...
output:
result:
Test #9:
score: 0
Time Limit Exceeded
input:
1000000 1000000 273043260 1042513348 30746190 864557483 187812119 562837674 263192174 364182254 3537...
output:
result:
Test #10:
score: 0
Time Limit Exceeded
input:
1000000 999995 83067658 1064735371 623243759 757522311 539363923 924297206 75317137 543750195 822898...