小编Man*_*ndy的帖子

D-lang比C++更快?

所以我正在为即将到来的算法编程竞赛练习,我偶然发现了前一年的问题.

我几乎解决了它(在C++中),但我得到了一些超时,所以我看了官方的解决方案,它是用Dlang编写的.

然后我试图模仿官方答案在D中做了什么,但我仍然得到超时(单次输入> 4秒).Afaik,C++应该比D更快,但是D在一瞬间解决了相同的输入,C++需要超过5秒的时间

这是D答案代码

import std.stdio;
import std.algorithm;

struct edge {
    int src, des, w, o;

    int opCmp (ref const edge e) const {
        if(w != e.w) return w - e.w;
        else return o - e.o;
    }
};

const int MAXN = 100004, MAXM = 200004;
int N, M, D, ee, weight, days;
int[MAXN] ds;
edge[] edges;

void init() {
    for(int i=1;i<=N;i++) ds[i] = i;
}

int find(int x) {
    return ds[x] = (x == ds[x] ? x: find(ds[x])); …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm d c++11

-7
推荐指数
1
解决办法
344
查看次数

标签 统计

algorithm ×1

c++ ×1

c++11 ×1

d ×1