编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#6467 #1084. 树联网 Accepted 100 584 ms 62940 K C++ 17 / 1.4 K t330026189 2024-11-16 14:54:59
显示原始代码
#include <bits/stdc++.h>
using namespace std;

#define int long long

#define il inline

#define rd read()


const int L = 5e6 + 100, inf = 1e12, mod = 1e9 + 7;
int n, sz[L], ans = 0;
int head[L], edge[L], nxt[L], w[L], now = 0;

il void addEdge(int u, int v, int x) {
    edge[++now] = v;
    w[now] = x;
    nxt[now] = head[u];
    head[u] = now;
}

il void dfs1(int st, int fa) {
    sz[st] = 1;
    for (int i = head[st]; i; i = nxt[i]) {
        int j = edge[i];
        if (j == fa)
            continue;
        dfs1(j, st);
        sz[st] += sz[j];
    }
}

il void dfs2(int st, int fa) {
    for (int i = head[st]; i; i = nxt[i]) {
        int j = edge[i];
        if (j == fa)
            continue;
        ans += abs(n - sz[j] * 2) * w[i];
        // printf("test: %lld %lld : %lld %lld\n", st, j, (n - sz[j] * 2) * w[i], n - sz[j] * 2);
        dfs2(j, st);
    }
}

il int read() {
    int res = 0, f = 1;
    char c = getchar();
    while (c < '0' || c > '9') {
        if (c == '-')
            f = -1;
        c = getchar();
    }
    while (c >= '0' && c <= '9') {
        res = res * 10 + c - 48;
        c = getchar();
    }
    return res * f;
}

signed main() {
    // freopen("test.out", "w", stdout);
    n = rd;
    int u, v, x;
    for (int i = 1; i < n; ++i) {
        u = rd, v = rd, x = rd;
        addEdge(u, v, x), addEdge(v, u, x);
    }
    dfs1(1, 0);
    dfs2(1, 0);
    // for(int i = 1; i <= n; ++ i) printf("%lld :%lld\n", i, sz[i]);
    printf("%lld\n", ans);
    return 0;
}

/*
2
3
0 2
1 2
3 3
3
1 0
2 3
0 10
*/
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:4 ms
内存:416 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
用时:3 ms
内存:276 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
用时:5 ms
内存:924 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
用时:4 ms
内存:308 KiB

输入文件(tree3.in

1

答案文件(tree3.out

0

用户输出

0

系统信息

Exited with return code 0
测试点 #5
Accepted
得分:100
用时:4 ms
内存:412 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
用时:3 ms
内存:768 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
用时:26 ms
内存:7524 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
用时:478 ms
内存:62940 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
用时:12 ms
内存:3516 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
用时:45 ms
内存:11020 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