第一次参加省赛总结(2018CCPC广东赛区)

本来以我这个弱鸡的实力,是没有资格参加省赛的。在GDCPC选拔赛的套题上只做了两道题,而且AC的也比较晚,排在第十多名,再加上在协会里的积分也不算高,所以没有被选上去参加省赛。虽然如此,但是还是想见识见识其他学校的实力,也是想参与这种活动,和其他大学学生一同比赛,体验其中的刺激和感受AC的乐趣(本来是这样想的)。

我和两个队友说了想去省赛的事情,他们起初不太愿意去,但是商量过后还是同意了,这点我很感谢他们,不然我自己一个人也出不去打比赛,也不能了解到其他学校的学生到底有多么的强大,自己有多么的弱鸡。不过是要自费去而已,三个人平摊,我觉得还是可以接受的。确定下来要去后,就找了学长(协会会长),学长帮我们建了一支队伍,队伍名就取了校内赛的队伍名字BNUZ_快速最短。接下来几个星期,常常呆在图书馆,我有空就看看其他的算法。有时候也看不懂,硬要去理解,反而困的在那里睡觉。毕竟是自费,还是很珍惜这次机会的,努力在这几个星期多学一点点(最后发现没有什么卵用)。

出发前几天刷了下16年的省赛题目,发现有些题目是直接printf的,输出一个公式,然后A题也是一个签到题,然后在想如果3题能打铜,我们运气好推出公式还是有机会打铜的(现在想来简直是在做梦)。出发的前一天连一本字典都没有,到处借字典也没有借到,一大早起床去买了三本字典后,就前去校名石和学长们会合。坐了轻轨去广州,中午随便吃了点后去华南理工报道领衣服(纯白加上三个logo,并且发放衣服的擅自做主把我们的码数都增大了一码),2点去机房打热身赛,一共四道题,两道简单水题,一个简单桶排序和一道裸的dijkstra就成功AK了。随后在华南理工里逛,提前约了华南理工的同学,又顺便约了中山的同学一起出来吃个饭。时间还早,就决定也去广工逛一逛。最后华南理工的同学记错了时间,以为我是5月6号去找她~尴尬之下,只和中山的同学,广工同学,还有一个广州大学的同学一起吃了饭,见到许久未见的高中同学,一起坐下来聊天还是很开心的,然后接到通知要提早一个小时打省赛前的训练赛。就早早的散了,也忘记合个照。晚上的训练赛也心不在焉状态不佳,早早收了场。

第二天一大早,早早起身,和学长们一起去吃了麦当劳的早餐(最喜欢的烟肉蛋麦满分),就滴滴去华南理工参加省赛(绝望的开始)。9点开始比赛,提前五分钟发题本,看到隔壁桌子的提早了两分钟开题本,都已经开始敲代码了。我们看了下时间,感觉差不多了也打开了题本,首先先看了A题,因为猜测A题很可能是签到题。然后看到一个矩阵模样的式子,就感觉要用到矩阵快速幂,觉得这题不是签到题,就准备往后浏览一遍题本,看看什么题目比较短,样例比较简单的。翻着翻着就到了H题,发现题目描述比较短,样例的输入输出也比较简单,浏览了一下题目后,感觉要写出这道题也要好好去思考一段时间。犹豫了片刻,就决定继续往后翻题本,翻到最后一题J题,大概看了下题目和输入输出,立马就感觉这是一道签到题,不由激动,心里哈哈大笑,想着就算你们把签到题放到最后还不是被我发现了。正准备直接去敲代码AC我们的第一发时,又想到如果自己想错了,就浪费时间去敲代码了,很不划算,就决定自己先按照样例去模拟一遍,但是试了很多遍都发现和样例的输出对不上。

这时候逸仔说感觉A题是个要用逆元求解的问题,不由有点惊喜,因为出发前一天,我才去打印了Lucas逆元的模板,没想到用上了,逸仔已经去敲A题了,我就去找豪仔讨论下J题,看看有没有理解错题意。然后豪仔也是没有试出样例的答案,看了看榜,还没有人过题,想了想就准备去怼H题。A题逸仔敲了一个Lucas逆元,发现做不出,因为数组开不了那么大,那个时候已经有人做出来A题,黄色气球都逐渐出现在周围。心烦意乱下也去看A题,豪仔继续看H题,逸仔解释了这道题,是一个求组合数问题,四周的黄球越来越多,心里细想下,这么多队伍都做对了,应该不会很难,说不定有可能只是个公式问题。然后翻红书,白书,看看能不能get到点思路。没过多久,同桌子的队伍也做出来了,听他们很兴奋的讲什么奇数有规律什么鬼的,我就跑去研究了下,看看能不能推出什么有规律的式子,发现还是一头雾水。后面豪仔要尝试敲一发H题,我就从旁辅助他,自己A题暂时没有什么思路,逸仔则在一旁继续想A题。H题豪仔敲了一发,后面也发现思路不太对,停了下来,我有点头绪了,也去敲了一发。发现写着写着也思路断了,想错一些地方。后面豪仔重新敲了一发,样例过了,为了确保一次AC过,我也测试了几个数据,发现没什么问题,就决定交了,没想到WA了,后面我又测试了几个数据,发现了问题,立马发现这题不能这样写,想到这绝对是一个dp问题,但最主要的状态转移方程我们一直没有想出来。看到A题对的队伍越来越多了,我也有点急,回头继续看A题去了,后面还想开20个数组来储存,感觉不现实,一样会爆。后面逸仔发现了规律,推了一个公式出来,就是一个快速幂加上乘上n*(n+1)/2,样例过了,立马感觉这次应该能AC了,但还是wa了,就一直在改mod的事情,讨论哪里要mod,离AC最近的一次应该是我们改成快速幂传进去n-2次方,然后乘上n*(n+1)。但是没有坚持改下去,一直wa,后面感觉如果数据给的是临界点貌似会爆longlong,就改成unsignedlonglong,还是wa。看了看四周,发现我们被一堆气球包围了。看了看榜单,正确率比较高,交的队伍比较多的只有一个F题了,就去怼这题。我心里想着,绝对不能零封啊,好丢脸。

看完F题的题目描述后,又想到16年的省赛题目有好几道都是几行很短的代码,甚至是直接printf的,我就猜测这道题说不定就是呢。试了几个数据,感觉像是奇偶数的问题,敲了一发,红红的wa。后面又想了几个不同的理解方法,还是wa。看了看榜单,又决定去看看E题,看完题目,第一个想到的是暴力for循环找值,看了看数据,就知道不能这样写了,虽然给了 2s,但是两个值相乘爆longlong了。然后就想着能不能把这个式子化简,后面化简到用阶乘相抵消,就没化简下去了,感觉自己都被搞晕了,阶乘都给自己搞出来了,相除的话又要用到逆元了?(然后讲解题目的时候,发现的确是这样推公式,我也就推了前面比较简单的几步,但是后面化简还真的想不到,真令人绝望),绝望的翻看其他题目,抱着最后一丝侥幸,想着有些题目描述看起来很长,但其实很简单的。发现有几道题像是要敲一个线段树,看了看榜单,就打消了这个念头,因为基本没什么人过,还不如全力去怼A题,AC一发,防零封。然后A题各种换地方去mod,一直wa,离比赛结束还有10分钟的时候,隔壁桌的队伍其中一个人,还很蔑视的靠着桌子,面向我们,看着我们敲代码,最后还嚣张的伸头过来看我们敲代码,特别是瞄到他们桌子上面的四个气球,感觉到自己被深深的鄙视了(比赛结束我还特地去看他们是什么大学的,中山大学)。环绕周围,都有气球,唯独我们中间这个队伍一个气球都没有,尴尬。到了结束,一共开了4道题,A,E,F,H。没有一道题做出来的。其中A题一共交了24发,WA了24发。学长的两个队伍一个成功打银,一个打铜,另一只大一队伍也是被零封了。颁奖典礼上看着大佬们上去领奖,深深感到自己是如何的弱鸡。这场省赛告诉了我,省赛午餐:麦当劳,真的是好吃,如果再来一个新地雪糕就好了,巧克力味的。哦...不对,人外有人天外有天,自己还有很长的路要走。

发布了22 篇原创文章 · 获赞 19 · 访问量 3554

猜你喜欢

转载自blog.csdn.net/KnightHONG/article/details/80219367