编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#6514 #1084. 树联网 Accepted 100 1588 ms 71312 K C++ 17 / 915 B hymonade 2024-11-16 15:42:14
显示原始代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
long long n, sum = 0;
struct stu {
    long long son, v;
};
vector<stu> t[N];
int node[N], tag[N];

int dp(long long f) {
    tag[f] = 1;
    int len = t[f].size();
    if (len == 0) {
        node[f] = 1;
        return 1;
    }
    node[f] = 1;
    for (int i = 0; i < len; ++i) {
        if (tag[t[f][i].son] == 1)
            continue;
        node[f] += dp(t[f][i].son);
    }
    return node[f];
}

void tot(long long f) {
    tag[f] = 2;
    int len = t[f].size();
    if (len == 0)
        return;
    for (int i = 0; i < len; ++i) {
        if (tag[t[f][i].son] == 2)
            continue;
        tot(t[f][i].son);
        sum += (t[f][i].v * abs(n - 2 * node[t[f][i].son]));
    }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int a, b, c;
    cin >> n;
    for (int i = 1; i < n; ++i) {
        cin >> a >> b >> c;
        t[a].push_back({ b, c });
        t[b].push_back({ a, c });
    }
    dp(1);
    tot(1);
    cout << sum;
    return 0;
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:13 ms
内存:12188 KiB

输入文件(tree0.in

1000
274 165 347303
356 299 375039
246 206 777805
756 591 331410
629 35 299179
997 259 373583
<15283 bytes omitted>

答案文件(tree0.out

493314941306

用户输出

493314941306

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:12 ms
内存:12004 KiB

输入文件(tree1.in

5
2 1 152103
3 1 176573
5 3 402893
4 3 860890

答案文件(tree1.out

4424231

用户输出

4424231

系统信息

Exited with return code 0
测试点 #3
Accepted
得分:100
用时:16 ms
内存:12672 KiB

输入文件(tree2.in

10000
2518 1964 435014
524 203 36875
1538 1461 558868
2035 231 870997
8940 536 82862
4607 3784
<173823 bytes omitted>

答案文件(tree2.out

49981397987782

用户输出

49981397987782

系统信息

Exited with return code 0
测试点 #4
Accepted
得分:100
用时:10 ms
内存:12012 KiB

输入文件(tree3.in

1

答案文件(tree3.out

0

用户输出

0

系统信息

Exited with return code 0
测试点 #5
Accepted
得分:100
用时:12 ms
内存:12052 KiB

输入文件(tree4.in

77
40 25 64956
34 20 541862
9 4 836201
17 15 809421
49 3 659178
58 9 855176
6 1 456269
15 11
<926 bytes omitted>

答案文件(tree4.out

2643457848

用户输出

2643457848

系统信息

Exited with return code 0
测试点 #6
Accepted
得分:100
用时:13 ms
内存:12308 KiB

输入文件(tree5.in

4396
3098 2392 562484
1048 755 372250
2073 1196 812710
1127 1062 947129
647 343 474455
2356 23
<74438 bytes omitted>

答案文件(tree5.out

9576682683804

用户输出

9576682683804

系统信息

Exited with return code 0
测试点 #7
Accepted
得分:100
用时:65 ms
内存:18784 KiB

输入文件(tree6.in

114514
34186 2390 597851
46343 28384 943641
55741 29626 711463
105659 18061 635679
60190 14496 
<2240948 bytes omitted>

答案文件(tree6.out

6546154052762816

用户输出

6546154052762816

系统信息

Exited with return code 0
测试点 #8
Accepted
得分:100
用时:1298 ms
内存:71312 KiB

输入文件(tree7.in

1000000
27843 7866 961704
104408 59430 131588
324055 180563 287371
207837 165968 334696
805756 
<21382013 bytes omitted>

答案文件(tree7.out

499761609565210958

用户输出

499761609565210958

系统信息

Exited with return code 0
测试点 #9
Accepted
得分:100
用时:35 ms
内存:15072 KiB

输入文件(tree8.in

50000
38835 11093 55630
1872 1154 355099
33535 4072 730286
22768 12306 766019
9227 6599 56342

<951594 bytes omitted>

答案文件(tree8.out

1248224228256776

用户输出

1248224228256776

系统信息

Exited with return code 0
测试点 #10
Accepted
得分:100
用时:114 ms
内存:22100 KiB

输入文件(tree9.in

170258
14147 6830 129354
48006 17638 560829
130743 94522 808868
106876 19926 189376
85980 31219
<3417309 bytes omitted>

答案文件(tree9.out

14523668420398970

用户输出

14523668420398970

系统信息

Exited with return code 0