2018ICPC区域赛徐州站赛后总结(The 2018 ACM-ICPC Asia Xuzhou Regional Contest)

1 篇文章 0 订阅

废话

挺长时间不更新了,主要还是上大学了之后事挺多的吧,一般周末有足球和台球的新生杯要打,还偶尔去当其他场次的第四官员,去远征个客场、ACM训练之类的......所以大概之前的回忆录想恢复更新也许要等到寒假再说了QAQ

然后仔细想了想,觉得还是有必要把每次ACM的正式比赛记录一下的,于是有了这篇大学开山文章!

感觉以后这种机会也不多了,所以我所谓的正式比赛放宽到(校赛、邀请赛)这种比较正式的场合吧,以后的总结大概也会按照下面这个板子来写。

队伍构成

我、李佳实和徐瑞帆。

早在半年到一年前,徐瑞帆就提出要预定我和李佳实到了大学组队。我们之前对于徐瑞帆找了两个基本不会算法的人组队打单人ACM的事略有耳闻,所以也就同意了,这其实也从侧面限制了我们两个分拆或者找更强的队友的机会(雾

队伍结构来看,最开始我觉得我们三个并不适合,因为徐瑞帆和李佳实都是偏数学型的,我和李佳实比较喜欢代码量较少的奇怪题,所以没有一个擅长数据结构或者码力较强能稳下心来写长麻烦代码的人(比如我和李佳实的高中队友姜淳誉),以及没有人擅长几何题。

后来没上大学之前练了几场以前区域赛,感觉之前我的认知有误,实际上我们三个的分工大致这样:

李佳实:大部分时间边缘OB,但偶尔能做出一些特别奇怪,甚至我俩认为不可做的题

徐瑞帆:一定程度上能揽下中高复杂度的题,而且最大优势是细心,1A率和给别人代码查错能力都较强。

我:前期扫水题,后期笑嘻嘻......

(其实我感觉把我或李佳实换成姜淳誉,这个队伍能更强一点,可惜姜淳誉去了隔壁)

为什么我们(能)来到这里

由于今年大一军训,导致选拔时间骤减,北大今年选拔机制非常刺激,用两场网络赛定胜负。我们和“好丽友派”队同分加赛依靠徐瑞帆绝杀翻盘成功成为北大十一队并获得了参加1次区域赛的名额(但后来得知名额扩充,加时赛白打了),然后在徐州和焦作两个可选赛区中选了“强队较少”的徐州。因为徐州第一次办,所以很多队伍都不愿意来这里....所以我们赛前目标偷个金牌。

热身赛

热身赛的时候我十分紧张,心跳加速,而且很难集中注意力,甚至在比赛开始前二十分钟只读了A一行题面(这20分钟当然包括了熟悉Codeblocks和提交工具,毕竟是第一次打区域赛),ljs看了一会D说这是个裸2-SAT让我写,刚敲没一会官方说D题spj加不上去让我们拼脸,我迅速被劝退。接着xrf说B题简单,但是说自己不擅长又让我上,我想了一会感觉写着也挺麻烦也想推锅,然后僵持半天xrf被迫上机。

然后我和ljs一起读A,结果没读懂,等着大家开始过C题,我们鹤立鸡群单过了一个B之后开始求助xrf,xrf给我解释了几个A的单词之后不久看完了C是个简单题,并推ljs上机,然后WA,我这边一个多小时左右才读懂A,想想感觉还不算难,看一眼榜2题已经延伸到银牌了,于是很后期过了C和A,然后我凭着信仰写D,测了样例发现ljs看错题了,于是弃疗。最后莫名其妙拿了热身赛第六名。

我前期对我们的状态很是担心,爆出了各种问题诸如看错题,看不懂题、开错题、准确率不高、进入状态慢等等,最可怕的是我能明显感受到ljs和xrf都不想(敢)上去打题,更为悲惨的是,我也不敢打......结果倒是好的,但是感觉上很多队伍明显没有好好打。我和xrf目标还是放在第二天拿金尽量拿一个首A,ljs竟然膨胀了说要进前五.....

正文

试题原版题面戳→这里

开题分工我A-D,xrfE开始,ljs倒着看。由于想抢首A,我看了一眼A觉得太长就直接跳过了,B也太长不看,结果这是xrf说E题是sb线段树,于是在周围一片寂静时,xrf上机开E,博得周围震惊目光。我继承xrf顺序向下开F,F题面很短,且我没看样例,想了一会我说我会F了,于是接着开G,看错题以为G是个神仙题。二十几分钟过去,清华一个队过了A,我很诧异不过没有理会(因为想抢首A),然后恶时辰过了G(更加震惊)!

半个小时左右,xrf发现E题看错了,于是我上机做F,我中途还让ljs上去敲了个SAM板子,结果我和xrf在下面讨论了一下F,发现我F也看错了QaQ....ljs下来问我G题,结果发现我G题也看错了。。。。四十分钟,我们强势看错三题,更可怕的是,除了这三道题,我们几乎没看其他题....一股凉凉之意从心底袭来。

E题:给定一个长度为N序列,有三种操作:区间加k、区间变成k、给定x求区间内有多少y,满足max(A[min(x,y)], A[min(x,y)+1], ..., A[max(x,y)])=max(A[x],A[y])。N<=1e5

F题:给一个串S,求有多少个串T满足,T是S的子串且不存在P使得(TP=PT且TP是S的子串),∑len(S)<=5e6

此时清华又过了G,成为第一个2题队伍,而有数个队伍跟着也过了A,于是我更加自责,竟然上来跳过了签到题....xrf去开了A题,我开了C,ljs想G。读了一会xrf看懂了A题。

A题:求最小生成树数目*最小生成树权值,树边由是数据生成器随机生成,N,M<=1e5,权值范围很大。

接着就xrf和ljs讨论了起来,满口什么基尔霍夫矩阵,高斯消元之类的,空气中充满了快活的气息。反正随着一句“同权值爆搜应该能过”,xrf就上机了,代码挺长,写了半天WA,然后就开启了漫长调试之旅。这个时候我和ljs确认了一下G题题面,然后ljs说他G题会做了,就是一个点分治。

G题:给一个N个点的树和M条树上路径以及一个整数K,求在C(M,K)种挑选K条路径的方法中,挑出的路径至少交于一点的方案数。N,M<=1e5,K<=M

ljs说他不擅长点分治,让我上。于是xrf和ljs开始肉眼调试A,我上去开G,刚打完读入和建边什么的,他们想到了一些奇怪的边界情况,把我赶下来开始改。我在下面冷静了头脑之后突然发现G题直接用交于每个点的方案减去交于边的就行,用不上点分治,于是嘲讽ljs之后暗自庆幸自己没有上来先打点分治板子.....xrf第三次尝试过了A之后,我上机写G,他们开始开新题,写着写着我就听到他们后面一副什么东西会做了的样子。114分钟,1A过G,成功回到金牌区。

看一眼榜,清华队伍ADGI坐拥三个首A势不可挡,另一个清华队伍和恶时辰ADG紧随其后,还有上交AGM,北理过了GH。

于是我决定开DIM,结果他们告诉我他们已经看完了BDHIM(也是,都100分钟了)。一时间电脑突然空下来了,于是我询问了D题题意,然后瞬间想起管道取珠,于是拐得他们两个也开始往模拟三个同样序列上想,想了一会没结果,于是我又询问了M题题意,听完发现是个贪心套着计算几何外衣,但是这种贪心我们全都属于能想明白写不明白的,计算几何也没人能保证写对,于是他俩推我上机背锅,我拿了板子就开始抄。

D题:给你一个长度为N的序列1<=ai<=N,以及一个N*N的01矩阵Mij。一个子序列\{a_{p_i}\}被称为Yuta序列当且仅当所有的M_{a_{p_{i-1}}a_{p_{i}}}=1,求所有不同的Yuta序列的出现次数的立方和。N<=300,T<=20

M题:给你一个N个点凸包,M个点光源,问最少用几个点光源可以照到所有的边,保证点光源都在凸包外面且不和任何边共线。N,M<=1000

其实M题这个特性决定了这道题几何部分挺好写的,主要就是这个圆圈贪心,我刚准备开始写贪心部分时,xrf把我踢了下来说I题好写先写I。

I题:定义一个排序网络是:对于一个序列,进行K次比较,每次比较某2个指定的位置,把小的放前面,大的放后面。问有多少个N的全排列,使得经过了这个排序网络之后是“快排好序的”。快排好序的是指最长上升子序列长度是n-1。T<=100,N<=50,K<=10

我也没问他们的做法,下来之后看榜若干队过了H。于是又向ljs询问了H题意,听完之后基本秒掉然后向ljs确认做法正确性,ljs没有立即给出回复但我坚信做法是正确的,于是等着xrf写完I先写H再搞M,此时时间已经逼近3h,感觉有点做不完了要。想起ACM的一大忌讳就是同时多开,但现在也是没有办法的事....好丽友派队连续过了MH,排名蹿升的同时把我们压倒了北大垫底。这时清华队首A了L题,交大首A了C题,浙大首A了K题。情急之下我又开了我之前读了一点的C题,想要DP但是没有拓扑序...

H题:给出N个可重叠区间,和一个颜色种数K,要求你给每个区间染色,使得数轴上有K种颜色的区间总长度最大,求一种染色方案。K<=2e5,∑N<=2e6

C题:给出x轴上1,2,3...N-1点的纵坐标0<=hi<=50(0和N都是0),连出一个折线图,现有两人从(0,0)和(N,0)出发,两人必须保持纵坐标永远一致,互相想走到另一个人的位置,问两人最少移动总距离(保证存在一种方案能到达)。N<=50,T<=500

A Few Moments Later.....

xrf调过了样例,交一发TLE,然后下机调试。我上机写H,同时听得后面ljs传来阵阵我靠之声,大喷xrf怎么能这么写呢多一层时间复杂度。xrf决定想想如何去除,我继续写H,然后过样例交一发WA,耻辱下机。xrf继续上阵改I,然后觉得本机就很慢,于是开始卡常,卡了一会又交还是TLE,封榜。

大屏幕上我们已经不见了,我们也没有时间去自己数排名。大的榜单上恶时辰过了E,金策的队伍临封榜L,于是出现了CEIK均只有首A的情况。我调了一会H没发现什么错误,于是让ljs上去继续敲M,我和xrf在下面调HI,结果ljs再次拒绝上机,我只得给他讲了我H题代码意义之后上机写M,xrf再次下机思索并开始怀疑I题做法不是正解准备弃疗,帮着ljs一起调我的H。我M题再WA一发再次耻辱下机,然后三个人看着电脑面面相觑。期间爆出了诸如xrf明年还打不打了之类的丧气对话。

这时ljs突然发挥作用,看出了我H题的sb错误,然后我怒改一交TLE,吓得我大惊从早到晚失色,然后怀疑是我莫名用了个不需要使用的优先队列的缘故,于是xrf改成栈的标号回收,3triesAC。这时看了眼封榜发现我们是封榜前银牌第一23333.....

接着xrf再次尝试I题把log判重改成hash,结果喜提WA。ljs仔细阅读我M代码发现我输出格式错了,于是我踢下xrf怒交M,289min2triesAC。这回我和xrf估计进了金牌大众题数了,能不能进前十就看I题了,于是xrf怒改各种hash的乘模,均以失败告终。

赛果

赛后

xrf吐槽A题题面里说了“我打赌这是全场最简单的一道题”,结果我上来skip了

A题听说由于很难随机到同权值,所以直接kruskal就能过。。。。

比赛结束后15分钟之内吧大约,xrf和ljs(我忘了是谁先说的了)突然发现I题不用判重,因为根本不可能有重复的,于是I题变成水题。

然后瞬间ljs和xrf又提出了一种C题的最短路做法,不知道能不能过。

听说K题有问题?

看知乎有人回答“听出题人说本身设想的签到题是ADH,结果榜被恶时辰带歪了”2333333

好像大家都纷纷觉得D很简单的样子,然而我们回来跟舍友讨论了一下还是不会做D QAQ,求会做的告诉我们咋做啊!

F题样例是:“这是一个红名题,如果你是辣鸡,滚”,结果我还敲了半天F QAQ

总结

实力不足还是不要想着抢首A,这种着急的心态配上本来就浮躁的性格加上不扎实的英语基本功,很容易就造成开局浪费若干分钟的后果,现在想想假如是一个7题局,40min*7=280min,就直接被坑了280罚时啊......

除了开局几分钟的水题之外,如果有题觉得想出来了还是应该和第二个人或者第三个人分享一下,例如这次G题如果ljs本身擅长写点分治而没和我说的话,可能大块时间就分出去给G了,甚至有可能写完TLE还要调,那么这个多出的时间一旦大于11min,从结果来看,我们可能就变成3题了。再比如这个I题,虽然即使我问了他们题意和做法我也大概率想不出来可以不判重,但是起码是加大了能AC这道题的几率。

还有就是写代码的准确度,这次的HM都是由于奇怪的低级错误导致强行拖后AC,要是能尽量避免或尽快发现这些错误,都可以争取出更多的时间给I题甚至C题的。然而很不幸,代码准确度这个东西....并不是很容易提高QaQ

其实这场AGHIM都不是难题,应该都算是medium难度的,但是可能正是由于没有easy题,导致时间并不是很够险些没有做掉M。之后关于这种长(废话)题面和没有简单题的场,还是要多加小心。

赛后来想,我个人认为几道题的AC难度排序AGIHM,如果C我们的想法是对的,那就排在M后面,很多人(出题人和fz和zzx)说简单的D,我还不会做QAQ没法排序

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值