Multi-university 第十场 经验总结

来源:互联网 发布:kmp算法next计算例题 编辑:程序博客网 时间:2024/05/20 22:03

万万没想到。
今天依旧是一言难尽的一天;今天还是心情复杂的一天。

1011

这道签到题,学妹开始非常准确的找到了对应的原题(POJ 3255)。然鹅,开始用了dijkstra的板子结果TLE,后来换了SPFA的,AC

1010

刚开始做法是按照s排序,对于每一个新的test找离它的s最近的e,将这个test加入那个room。然鹅,TLE。后来将s,e都作为点来排序,解决了每次要使用upper_found()的问题。再加上讨论版里大家的血泪教训,又加了个Fast I/O 以防万一。然后500ms终于AC了。

1008

鉴于讨论版里的血与泪,上来就先贴了个fast I/O的板子。其实对于这道题的解题思路是没有问题的,就是在树上找两两一组的点对 。然鹅,搜索写搓了。开始还以为是输入挂不够强劲,又扒了第一场1012的北航的输入挂。emmmmm,但是并没有什么卵用,还是搜索没写好,无限TLE。

总结

收获一

本场比赛第一个收获,感谢出题方,让我们有机会场上整理了fast I/O 板子,临场学习了 fread。

    namespace fastIO {    #define BUF_SIZE 100000    //fread -> read    bool IOerror = 0;    inline char nc() {        static char buf[BUF_SIZE], *p1 = buf + BUF_SIZE, *pend = buf + BUF_SIZE;        if(p1 == pend) { p1 = buf; pend = buf + fread(buf, 1, BUF_SIZE, stdin);            if(pend == p1) { IOerror = 1;                return -1;            }        }        return *p1++;    }    inline bool blank(char ch) {        return ch == ' ' || ch == '\n' || ch == '\r' || ch == '\t';    }    inline void read(int &x) {        char ch;        while(blank(ch = nc()));            if(IOerror)                return;            for(x = ch - '0'; (ch = nc()) >= '0' && ch <= '9'; x = x * 10 + ch - '0');        }        #undef BUF_SIZE    };    using namespace fastIO;

收获二

为什么要穿原谅绿的衣服来打比赛啊啊,这分明就是TLE绿啊,整场无限超时。下次要穿AC红。

Update:

1008题不是搜索写搓了。是vector没有清空。。。。经验++;

阅读全文
0 0
原创粉丝点击