编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#5892 #1061. 最短路问题 Time Limit Exceeded 20 8050 ms 23876 K C++ 17 / 2.4 K t330034013 2024-08-17 17:09:52
显示原始代码
#include <bits/stdc++.h>
using namespace std;
const int SIZE = 5e5 + 7;
const int MAXN = 0x3f3f3f3f;
int m, n, s;
struct Node {
    int val;
    int n;
} tree[SIZE << 2];
int lson(int x) { return 2 * x; }
int rson(int x) { return 2 * x + 1; }
void pushup(int p) {
    if (tree[lson(p)].val >= tree[rson(p)].val) {
        tree[p].val = tree[rson(p)].val;
        tree[p].n = tree[rson(p)].n;
    } else {
        tree[p].val = tree[lson(p)].val;
        tree[p].n = tree[lson(p)].n;
    }
}
void build(int p = 1, int l = 1, int r = n) {
    if (l == r) {
        tree[p].val = MAXN;
        tree[p].n = l;
        return;
    }
    int mid = (l + r) / 2;
    build(lson(p), l, mid);
    build(rson(p), mid + 1, r);
    pushup(p);
}
void update(int x, int val, int p = 1, int l = 1, int r = n) {
    if (l == r) {
        tree[p].val = val;
        return;
    }
    int mid = (l + r) / 2;
    if (x <= mid)
        update(x, val, lson(p), l, mid);
    else
        update(x, val, rson(p), mid + 1, r);
    pushup(p);
}
pair<int, int> query(int p) { return { tree[p].val, tree[p].n }; }

struct Edge {
    int to, next, w;
} edge[SIZE];
int head[SIZE];
int cnt;

inline void _init() {
    for (int i = 0; i <= n; i++) head[i] = -1;
}
inline void add_edge(int u, int v, int w) {
    edge[cnt].to = v;
    edge[cnt].w = w;
    edge[cnt].next = head[u];
    head[u] = cnt++;
}
int dis[SIZE];
int vis[SIZE];

void dijkstra(int u) {
    memset(dis, MAXN, sizeof(dis));
    update(u, 0);
    dis[u] = 0;
    while (true) {
        pair<int, int> temp = query(1);
        int val = temp.first;
        int start = temp.second;
        if (val == MAXN)
            break;
        update(start, MAXN);
        for (int i = head[start]; i != -1; i = edge[i].next) {
            int v = edge[i].to;
            if (dis[v] > val + edge[i].w) {
                dis[v] = val + edge[i].w;
                update(v, dis[v]);
            }
        }
    }
}
int main() {
    cin >> n >> m;
    _init();
    build();
    for (int i = 1; i <= m; i++) {
        int a, b, c;
        cin >> a >> b >> c;
        if (c < abs(a - b)) {
            add_edge(a, b, c);
            add_edge(b, a, c);
        }
    }
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            if (i == j)
                continue;
            add_edge(i, j, abs(i - j));
        }
    }
    dijkstra(1);
    for (int i = 2; i <= n; i++) {
        cout << dis[i] << " ";
    }
    return 0;
}
子任务 #1
Time Limit Exceeded
得分:20
测试点 #1
Accepted
得分:100
用时:4 ms
内存:2280 KiB

输入文件(paths1.in

10 10
10 6 4
5 3 1
9 6 2
4 5 1
4 9 3
3 2 1
6 1 2
9 7 2
6 1 5
3 7 3

答案文件(paths1.out

1 2 3 3 2 3 4 4 5 

用户输出

1 2 3 3 2 3 4 4 5 

系统信息

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

输入文件(paths2.in

10 10
10 3 10
7 9 3
3 8 5
1 7 9
2 8 3
7 9 2
8 5 2
2 5 10
10 4 2
3 6 9

答案文件(paths2.out

1 2 3 4 5 5 4 5 5 

用户输出

1 2 3 4 5 5 4 5 5 

系统信息

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

输入文件(paths3.in

10 10
8 2 2
3 5 1
5 2 1
7 1 5
7 5 4
5 2 2
3 2 1
8 6 2
7 8 2
4 5 1

答案文件(paths3.out

1 2 3 2 3 4 3 4 5 

用户输出

1 2 3 2 3 4 3 4 5 

系统信息

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

输入文件(paths4.in

10 10
7 10 3
10 5 4
5 9 1
3 4 1
3 10 7
9 10 8
4 3 1
4 10 10
9 1 8
7 4 2

答案文件(paths4.out

1 2 3 4 5 5 6 5 6 

用户输出

1 2 3 4 5 5 6 5 6 

系统信息

Exited with return code 0
测试点 #5
Time Limit Exceeded
得分:0
用时:1507 ms
内存:14052 KiB

输入文件(paths5.in

1000 1000
386 311 62
947 590 264
442 765 286
781 232 263
342 830 357
254 490 144
787 531 157
856 254
<11270 bytes omitted>

答案文件(paths5.out

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 21 20 19 18 17 16 15 14 13 12 11 10 9 10 11 12
<2888 bytes omitted>
测试点 #6
Time Limit Exceeded
得分:0
用时:1550 ms
内存:14068 KiB

输入文件(paths6.in

1000 1000
488 851 248
98 734 233
785 205 551
545 950 234
999 300 205
341 592 88
440 152 108
157 840 
<11248 bytes omitted>

答案文件(paths6.out

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 30 29 30 29 28 2
<2876 bytes omitted>
测试点 #7
Time Limit Exceeded
得分:0
用时:1546 ms
内存:14060 KiB

输入文件(paths7.in

1000 1000
183 188 4
320 628 957
199 480 161
31 78 47
328 607 99
458 436 743
367 158 180
309 802 365

<11245 bytes omitted>

答案文件(paths7.out

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 3
<2886 bytes omitted>
测试点 #8
Time Limit Exceeded
得分:0
用时:1506 ms
内存:14060 KiB

输入文件(paths8.in

1000 1000
606 400 26
81 139 5
108 603 19
522 245 23
846 344 110
53 832 279
848 274 196
174 2 72
445 
<11235 bytes omitted>

答案文件(paths8.out

1 2 3 4 5 6 7 8 9 10 11 12 11 10 9 8 7 6 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2
<2880 bytes omitted>
测试点 #9
Runtime Error
得分:0
用时:21 ms
内存:22276 KiB

输入文件(paths9.in

100000 1
42869 67934 9980

答案文件(paths9.out

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 3
<588789 bytes omitted>

系统信息

Killed: Segmentation fault
测试点 #10
Runtime Error
得分:0
用时:20 ms
内存:22244 KiB

输入文件(paths10.in

100000 1
76540 44829 23801

答案文件(paths10.out

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 3
<588789 bytes omitted>

系统信息

Killed: Segmentation fault
测试点 #11
Runtime Error
得分:0
用时:20 ms
内存:22364 KiB

输入文件(paths11.in

100000 1
10834 66572 6137

答案文件(paths11.out

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 3
<588789 bytes omitted>

系统信息

Killed: Segmentation fault
测试点 #12
Runtime Error
得分:0
用时:20 ms
内存:22364 KiB

输入文件(paths12.in

100000 1
23418 78501 17434

答案文件(paths12.out

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 3
<588789 bytes omitted>

系统信息

Killed: Segmentation fault
测试点 #13
Runtime Error
得分:0
用时:21 ms
内存:22364 KiB

输入文件(paths13.in

100000 30
66577 27574 15989
57497 64234 3847
70344 91131 2067
12766 80177 35761
73332 38638 20188
75
<419 bytes omitted>

答案文件(paths13.out

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 3
<587443 bytes omitted>

系统信息

Killed: Segmentation fault
测试点 #14
Runtime Error
得分:0
用时:22 ms
内存:22280 KiB

输入文件(paths14.in

100000 30
476 59661 55988
76799 59777 6131
32697 88275 42059
34218 89384 5643
38185 67617 13787
6859
<432 bytes omitted>

答案文件(paths14.out

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 3
<588789 bytes omitted>

系统信息

Killed: Segmentation fault
测试点 #15
Runtime Error
得分:0
用时:23 ms
内存:22272 KiB

输入文件(paths15.in

100000 30
2128 30547 18765
40047 80322 33301
82136 70025 7516
33768 66814 17118
37952 52558 12476
17
<431 bytes omitted>

答案文件(paths15.out

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 3
<585958 bytes omitted>

系统信息

Killed: Segmentation fault
测试点 #16
Runtime Error
得分:0
用时:20 ms
内存:22284 KiB

输入文件(paths16.in

100000 30
77808 31672 35610
95082 46111 19236
44217 14265 1945
92386 1818 65252
65053 23506 9679
555
<422 bytes omitted>

答案文件(paths16.out

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 3
<585248 bytes omitted>

系统信息

Killed: Segmentation fault
测试点 #17
Runtime Error
得分:0
用时:437 ms
内存:23876 KiB

输入文件(paths17.in

500000 500000
119637 206482 5305
415079 298250 7615
287208 350360 25447
82077 159253 21971
14650 475
<9909079 bytes omitted>

答案文件(paths17.out

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 3
<2479290 bytes omitted>

系统信息

Killed: Segmentation fault
测试点 #18
Runtime Error
得分:0
用时:433 ms
内存:23800 KiB

输入文件(paths18.in

500000 500000
32801 418343 23967
144010 479613 186699
411707 108288 49326
433635 393879 37266
371524
<9908808 bytes omitted>

答案文件(paths18.out

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 3
<2450396 bytes omitted>

系统信息

Killed: Segmentation fault
测试点 #19
Runtime Error
得分:0
用时:447 ms
内存:23804 KiB

输入文件(paths19.in

500000 500000
314249 208397 97409
189367 482804 231718
65738 427855 14488
131958 119538 455022
17299
<9907866 bytes omitted>

答案文件(paths19.out

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 3
<2433098 bytes omitted>

系统信息

Killed: Segmentation fault
测试点 #20
Runtime Error
得分:0
用时:439 ms
内存:23784 KiB

输入文件(paths20.in

500000 500000
382560 319678 36825
410794 160089 354323
446438 486682 35533
227226 90930 13771
172509
<9907538 bytes omitted>

答案文件(paths20.out

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 3
<2307648 bytes omitted>

系统信息

Killed: Segmentation fault