GDKOI2016记
- 初中第二次参加GDKOI,考的不太理想,170分,可能由于RP比较好吧,竟然水过了一等奖的分数线——150分,出乎意料啊! ㄟ(≧◇≦)ㄏ
Day0
Afternoon&Evening
2:30离开纪中,大约4:00到达广州西苑,大概6:00吃完饭。让人最爽的是住的酒店依然是如家酒店,和小伙伴一起hi到10:00(腐败两用具:手机、电视),之后便是聊聊赛前感想(开会),随后当然是 go to sleep,睡个好觉迎接明天的比赛。
Day1
Morming
Oh my god!起床的时候已经7:00了,匆匆忙忙搞完所有事,已经7:20了。这时,
有个逗逼曹打了个电话过来,告诉我们酒店的炉子竟然坏了,第一天就逗我了。更逗我的是,出去酒店外面吃早餐的时候,不小心把早餐打翻了,搞湿了衣服,真是祸不单行啊(~ o ~)~zZ!只得马上吃完早餐后去换衣服,随后匆匆赶向考场。一开始认为题目很难,听完讲座后觉得挺可做。总得分:100分。
8:10开始考试,password竟然是ProblemsAreEasy!!
(这里我一定要吐槽几句,这是谁设的密码,太不要脸了,这么大的谎话都说的出来!)回到正题。T1:Cardcaptor
给出n个数,接下来有两种操作:1、修改操作:将第i个数修改为j。2、查询操作:给出一对数(l,r),求 ∑ri=l ∑rj=i a[l] xor a[l+1] ….. xor a[r]。一眼看过去,就知道正解是线段树,但是线段树的保存方式及转移方式和查询方式一点思路都没有。想了大概二十分钟后宣布抢救无效,还是没有什么思路,果断弃疗开打暴力。这一题让我觉得最kd的是,answer最后要mod10^8+7而不是10^9+7,天知道有多少个天真的孩纸被坑了。得分:30分。T2:portal
题目描述略。是道数学概率题,完全不知道此题该从哪里下手,幸好把样例看懂了,打了个dp,让人觉得很爽的是考完后好多人没有看懂样例,O(∩_∩)O哈哈~。得分:30分。T3:treasurehunt
题目描述略。一开始以为自己想到正解了,只剩半个小时才发现自己想错了,不知如何是好,随后证明出了可以拿50分的算法,但为时已晚,只剩下十分钟了,打了个水法,打完后比赛刚好结束,但也没水多少分,好过爆0。得分:10分。T4:map
题目描述略。不会做,但是三十分的程序还是挺水的,只需要递归暴力枚举一下位置便可以了。果断打了暴力。得分:30分。Afternoon
吃过午饭后,一起走的同学们,人手一部手机,干什么呢?照相!我B——,你们是来比赛还是旅游的啊?
早早来到教室(讲题的地方),只有两三个人,
纪中发动大招——团队优势。(技能描述:使用法术召唤多个纪中初二学生,并使他们用尽身上的所有东西霸位)纪中的初二学生马上霸下了几个位置,然而这是远远不够的。因为Fu到闷了,所以开始做寒假作业,做完作业时,教室已经有many people。
等到三点,终于开始讲题了。
T1:Cardcaptor
我也是醉了。果然是线段树!将每个a[i]转换为不超过十位的二进制数(a[i]<=1000),之后在建十个前缀数组S.S[i,j]表示第i位前j个数的xor值。求第i至第j数的xor值,等同于s[k,i]xors[k,j](第k位上),种十颗线段树来维护s数组。查询和转移固然很简单。至于修改,因为是前缀和数组,当修改第i个数时,对其的影响范围是s[i]~s[n],既修改区间(i,n),这一题完美解决。(比较水,不难)T2:portal
(此不提供题目)这一题我也猜到题解是类似于将某种式子的运算值当成关键字排序以求最优答案。定义一个数组f,动态规划。将第i个点连向第i+1个点的边看成一扇费用(w)已知的门,成功概率(p)为1(p=100%).f数组从后往前做,考虑门使用顺序。假设当前已经放完了前q扇门,在这之后将再放第i扇门、第j扇门与再放第j扇门第i扇门的价值表示出来,相互抵消之后,可以发现式子的两边分别是 Ki + Vi Kj [先放第i扇门]& Kj + Vj Ki [先放第j扇门]( Ui 表示第i扇门的终点是 Ui , Vi =1- Wi , Ki = Wi + Pi * FUi ),若 Ki + Vi Kj > Kj + Vj Ki ,则先放第i扇门更优,反之,先放第j扇门更优。如果,先放第i扇门更优,则有Ki + Vi Kj > Kj + Vj Ki
Vi Kj - Kj > Vj Ki - Ki
( Vi -1) Kj >( Vj -1) Ki
Vi−1Ki > Vj−1Kj
(1−Wi)−1Wi+Pi∗FUi > (1−Wj)−1Wj+Pj∗FUj
WiWi+Pi∗FUi < WjWj+Pj∗FUj
只需按照以上关键字进行排序,便可以得到门使用的最优顺序了。
T3:treasurehunt
讲了一大堆鬼东西,什么最大权闭合子图,我这个纪中的渣渣表示听不懂。T4:map
又讲了一大堆鬼东西,连通性状压dp的表示我听懂了,但我这个渣渣转移一点也没听懂。让人最不爽的是,那群拿着手机拍照的,大部分都比我高分,这什么天理,B——。
五点了,向西苑餐馆进军。
Evening
吃完饭后竟有
一群逗逼同学说什么要去广州塔,我都不知道有什么意义,你是来比赛还是来旅游的w(゚Д゚)w,又买不起门票,有什么卵用X﹏X。本大爷要做寒假作业,懒得跟你们玩,三十六计走为上计,先回酒店看生活大爆炸了。回去玩了一会儿,便开始消灭寒假作业,经过一个多小时的努力,终于完成了,感觉一身轻松。于是便再次使用了腐败两用具,和李肥
决战到天明一起看生活大爆炸,直到十点去开会。
Day2
Morning
Oh my God again!醒来时竟然是7:15,以五分钟的新纪录收拾完所有东西,向酒店的餐厅奔去,我本以为我是最慢的,结果吃着吃着,看见了一
逗逼王昭君不紧不慢地迈进了餐厅,竟然还炒了个蛋,简直佩服的五体投地啊!7:40回到酒店上了个厕所,7:50出来时竟又见到那逗逼王昭君慢悠悠地走回房间,边走还边哼着歌,太……(词穷)。再次8:10开考,今天拿了(170-100)分,password竟然是HopeYouCanAk!!.到这里,我只想说一句,想象是美好的,现实是残酷的。
T1:coloring
题目描述略。这一题我很——没想法,果断打了个暴力,反正先打暴力是最保险的,虽然后来我也没想到题解,呵呵。T2:qt
给两个数S、T,求T+1~S之间有多少个有{与S模3同余}且{每位上的数不全属于K集合}的数(K=[2,3,5,7])。经过我的不断努力之后,终于被我看出了正解,就是数位dp.
F[i][j][k]表示已计算到第i位,第i~n位的数的和模3=j,与原数的关系为 小于、等于、大于(k=0,1,2),转移很easy,略。算出1~S,1~T内有多少个数与S模3同余且不全由K集合里的数组成,用前者算出的值减去后者算出的值,便是答案。但最后不知出了什么差错,程序Wrong掉了ヽ(≧□≦)ノ,幸亏打了个分段,捡了些分回来。得分:10分。T3:necklace2
为了打第三题,只打了个暴力,因为程序很复杂,细节很多,一个暴力都花了我半个小时多。得分:30分。T4:math
虽说是小学生数学题,但一点都不简单,为了打第二题,而且打暴力的耗时应该较长,所以弃疗了。得分:未得分。Afternoon
再次早早地来到教室,
纪中再次发动大招——靖远精神(技能描述召唤一个黄靖远,使其霸下大约75个座位)十分有爱心的黄靖远帮几乎所有纪中人都霸了位……还是三点开讲。
T1:coloring
我B——,原来是一道水题,一道简单的搜索题(博弈模型)+状态压缩记忆化就没了。T2:qt
我已经不想说什么了,打的虽是正解,但得分却少了个0.T3:necklace2
听时懵懵懂懂,听完后似懂非懂。T4:math
一堆逆元的神奇东东和数学公式,此渣渣表示尚未听懂。讲完题,it’s time for dinner,let us go!
Evening
长达两天的GDKOI终于结束了,总得分170分,虽不太理想,但还是拿了一等奖。
总结
1、审题一定要清楚,最好看多几遍题,不要怕麻烦,特别要注意(mod,数据范围),样例一定要先弄懂。
2、先打暴力,不管你是否知道正解,因为暴力有两个作用。一是,如果想错正解或细节打错,至少有保险分。另一是,大部分时候可作为对拍程序。
3、 答题是千万不要太大胆或太胆小,绝对不要太过肯定或否定一个算法的正确性,只有这样才可能想出正解。
4、当你不会做一道题时,可以输出无解时应输出的answer。
Over