其实我也没啥好总结的,只是感概,时间过得匆匆,很多话,前面两篇里面已经说了。
最后说一下,实际比赛的时候,ABG三个数学题目,ouc_abc写的,Orz,要当时的状态,我应该是推不出来的;J题lihe写的,后来我帮他debug;我最先发现E是大水,写了提交一发,提交到F去了,所以导致F题跪一发。1Y。
然后读了F题,我继续coding,各种错误啊,几行代码,我竟然写了10
min。接着我读G\H\I\J,没发现可以直接写的,其中H\I没太读明白,J题不敢写,G题不会。当时真是太不在状态了。
然后和ouc_abc讨论了,她在推B题,是个期望,一个Guass消元即可,范德蒙德矩阵?O(N^2)可行。期间也是各种不和谐。1Y。
这个时候board上已经过了6个题目了,我知道了这是场水题大战。
然后我休息下来,lihe写J,写完debug不过,我改改提交1Y.
然后我和lihe讨论了C题题意,是个水dp,写完样例不过,打印代码。
ouc_abc开始写A,期间发现C题忘记memset(),加上提交1Y。然后我和lihe讨论D题题意,是个线段树区间更新,最后求和。
A题写完样例不过,打印代码检查,我和lihe开始写D。期间ouc_abc发现读入顺序写反了,提交1Y。
我和lihe继续D,写完提交1Y。这个时候我们大概#1了?
接着我和lihe讨论了H,确定枚举两点产生的直线,把点集分成两个几何,hash判重。我们写了最原始的暴力vector存集合,提交TLE。也许优化一点常数是可以过的吧?我们换种写法hash,结构体stl排序,万恶的段错误。我手写了个qsort(),也是段错误。我当时怎么就没想到死循环呢,记得中学曾勇教师讲快排的时候专门强调过,如果两个相等的元素比较,应该返回fasle才不会死,也就是while(a[l]
< a[mid])l++;这里不能有用while(a[l] <= a[mid])
l++;。
期间ouc_abc推出G题公式,提交1Y。然后她貌似就在旁边吃东西了?
这个时候8题,#2,我们罚时较多。我看了下H题和I题(其实我理解错题意了),以为I是神题不可做,我就把I提交了一发,引导sdu死磕I(也许这里我掉人品了,H神卡调不出来)
其实我们只要换种写法,把集合处理成字符串hash或者建trie树都是可以的。可是我和lihe都没有去改。
ouc_abc看了I题,貌似她也被之前的错误题意误导了,没看出来这是个水题。
然后然后,我们就死磕在H题上了,后面sdu
AK,我看时间知道I是个水题,那个时候我就知道已经不可能拿冠军,没了战斗力,只想比赛快点结束或者搞出H。。。。。
最后10min吧,我和lihe就起来在一边玩了,ouc_abc查看了我们的代码,发现了显然的错误,把=去掉,调出来了。跪,比赛已经结束刚刚5s。
不能拿#1是命,不能ak也是命。感谢两个给力的队友,接下来继续加油。
这个周末最后北京邀请赛,已经没有了压力,也许是退役赛了,无关成绩,只求个快乐。
最后,希望12、13、14的学弟学妹们,沿着足迹,一步一步走出OUC
&& your
ACM之路。刻苦训练,厚积薄发,打入final!ACM竞赛适合真正有兴趣,有激情敢竞争的人,有目标,就加油吧!
一个团队,
3个队员都有金牌实力,可能拿到省赛冠军;
3个队员都有银牌实力,可能拿到区域赛银牌;
3个 队员都有金牌实力,可能打入final!
最后,还需要RP。