比赛过去很多天了,现在才开始写。都有些忘了。
比赛一开始就先去看E题,刚开始以为是搜索,看了题后发现不是,看完题后感觉明白了,但是照样例感觉看不懂。然后A题有人很快过了,于是队友直接去看A题, 看了实例就猜出A题的意思,直接切了。接下来发现K题也是大水题,很快让大豪先上手敲了。之后B题也开始很多人过题,然后我先放下E题去看B题,让小豪研究下E题的样例。B题很快明白题意,跟大豪讲了下题意,讨论了下大概打个表暴力下就能做了,然后我也没多想直接交给大豪去敲了,很快就A了,这题具体思路全靠大豪的。然后小豪发现E题样例的答案其实是在整个图外的一圈,然后我们猜测在图中不存在答案,按这个想法我上去敲了下,交上去WA了, 看了几遍代码,是没错的。然后陷入了思考题意当中。最后还算靠小豪看懂了题意,其实之前我看懂的题意是也是正确的,在图里面也存在答案,之所以会产生误解是因为样例里的图中不满足条件,所以让我们误以为图中就没有了,最后我继续敲了一发A了。这题其实怪我,第一遍交之前就应该考虑图中的情况应该是存在的,不能就放弃之前读出来的题意,最后导致浪费了很多时间,幸亏小豪机智看出来了,这题主要是小豪的功劳。之后就发现C题和J题很多人过了。我上了洗手间回来后,队友告诉我J题可能是个模拟题,但题面比较长,就交给我了,他们开始研究C题。J题是个炉石传说题,并没有玩过,所以不熟悉游戏背景。但是凭借英语阅读理解能力还是很快看懂了,但是对于游戏中一些操作存在疑惑,因为我发现有些操作和角色其实比较鸡肋,而且如果真的要考虑又会很复杂,所以我当时就开始反复的想题和读题。(后面回想起来应该可以直接排除那些东西,犹豫太久了,应该相信自己判断)到最后终于确定题意了。期间队友也已经发现C题是个最短路问题,然后我也帮忙看了下题意,然后小豪开始用啊哈算法上的模板敲迪杰斯特算法。这时候我已经确定J题的做法,是个大水题,在等小豪过了C题就上去敲。期间我和大豪看了下H题,感觉是个模拟,我读了下题意,确定了是一个模拟题,给大豪讲了下,关于字符的模拟,当时我感觉不是很难,但是大豪说可能会很复杂,但是他想尝试下,所以我们确定了做题顺序,C题之后我敲J题, 最后尝试H题。当时想过了这三道题省赛也就差不多了。
然而C题写好交上去之后tle了, 我们分析了下可能是算法不够快,然后让我上去敲了spfa算法,但是敲出来好像样例也过不了,但是时间已经到十二点多了,我们觉得一定要开始J题了,就先打印出代码给小豪找下错误,所以我继续开始敲J题(中间到了饭点QAQ)。J题其实理解了后就不难了,我敲出来后调试了下, 感觉就差不多了, 但是比赛的机子竟然不能复制,输入又有很多字母,所以测试的时候打错了就要重打浪费了时间,敲好之后交上去WA,我一看输出,竟然是打错答案,少了一个字母,我的锅。。然后感觉叫队友上去和我一起对了下输出,没问题之后交上去A了,气氛稍微轻松了些, 这时候正好封榜了。 小豪找到C题代码的错误了,赶紧换他上去改代码, 交上去之后仍然tle。这时候就有点无奈了,因为spfa 是最快的算法了。时间不多,就打印好代码先让大豪开始敲H题。考虑到可能是模板代码不够优化,然后我和小豪就在看着代码想着怎么优化。期间想了很多种情况, 又上去改了很多次, 交上去都是tle, 感觉就有点无奈了, 也许是啊哈算法上spfa不是最好的, 看来以后不能照着这本书敲代码了。最后几分钟大豪敲出了H题, 调试下后过了样例, 交上去WA了,没有时间修改了, 然后时间也到了。 比赛结束没几分钟, 大豪就想到了WA的原因, 但是为时以晚。唉, 就因为卡在最短路那道题上, 导致两道题没过, J题也敲的很晚。没做出七道题,确时太可惜了。 也许早点开始J题, 早点开始H题, 结果也会稍微好的, 但是最短路没过才是硬伤啊。
比赛结束之后我先自己手敲了一遍spfa过了C题,再把比赛打印的C题的代码敲了一遍,交上去是在70ms的时候WA,稍微改了下过了。所以比赛的时候为什么会tle真的搞不明白,也可能是自己敲错了, 有死循环。总之是自己学地不够扎实造成的。 这次省赛让自己看到了自己的不足, 一些知识点没有巩固好,最短路,dp, 博弈这些都没学好。也看到了和别人的差距, 接下来就要好好努力,先巩固好数据结构的知识, 然后开始刷专题, dp, 博弈, 数论这些都可以尝试下, 恩还有好多要努力的呢,同样是大一,差距怎么就这么大呢?