今晚学习了下hash_map,然后试着在poj上交题,ce了。

 

找到一个帖子:

http://poj.org/showmessage?message_id=132010

这个帖子说09年10月的时候还是可以使用hash_map ac的

 

于是把ac代码贴了一下:

http://poj.org/showcompileinfo?solution_id=9033090

CE了,提示没有ext/hash_map目录

 

介尼玛,伤不起啊。。。

 

ps:

hash_map的效率,g++大概是c++两倍

但是:

刚才测了一下map的效率:

poj2503 查字典的裸题

代码:

int main() {

    int len;

    char str1[12], str2[12], fstr[30];

    string temp;

    map<string, string> dic;

    while (gets(fstr)) {//存字典

        if (strlen(fstr) == 0)

            break;

        sscanf(fstr, "%s %s", str1, str2);

        dic[string(str2)] = string(str1);

    }

    while (scanf("%s", str2) != EOF) {//查字典

        temp = dic[string(str2)];

        if (temp.length() == 0)

            printf("eh\n");

        else

            printf("%s\n", temp.c_str());

    }

    return 0;

}

试了很多次:

c++ 800+ms

g++ 2000+ms

平时没感觉差距有这么大呀,难道这题情况特殊?

100000个words,不明次查询

谁能解释下?