GDOI2018 游记

About Me

lhy,初一蒟蒻选手以及GDOI2018酱油选手。

Day 0

中午十二点多就早早地到了学校,在机房整理了下博客。一点多时上车,前往中山一中(坐在yhf大佬前面哦)。

GDOI之前停课集训了两个星期,结识了若干大佬,学到一些玄学算法,被各路大佬虐完之后立马就滚去GDOI,心中已经做好了写八题暴力不进soi的心理准备(初一就想进soi,呵,呵呵),因为感觉自己 真 的 很 弱

好吧,其实我心中还是有点侥幸心理的,也许这次能上个200分什么的,呵呵。

经过一路颠簸之后,我们终于到了酒店。这一次lhl很快就分配好了房间,简直火速。我和fmj被分在一起住。酒店的房间还是很大很不错滴……

下午五点左右,我们一行人前往中山一中蹭晚饭。经过一番仔细的比较之后,还是觉得广州二中的伙食比较好,嗯......

蹭完饭后,和各位大佬去考场踩点。我和ywq没费多大劲就找到了,而yhf率领的队伍却因为“搜索的遍历顺序存在一些问题”找了大概二十分钟(其实他们上二楼后左转就能找到了,但他们却把整栋楼都找了一遍)

晚上在酒店看电视看到很晚(前晚睡太多了)

不知不觉中,一天就这么过去了。

Day 1

早上六点二十多分,简单梳洗后到楼下吃早餐。

这家酒店的早餐真是好啊,有煎培根、煎香肠等等,还是自助的。和lah,czy,fmj等人吃玩这顿“极其油腻”的早餐后便出发去一中。

考试的开始时间从八点推迟到了八点半,但对我并没有多大影响。很快,监考老师说出了解压密码:tiandihe_naiganyujunjue!66。原谅我语文不好看不懂。紧接着,我打开了试题……

T1:农场

题目大意:给出若干个数,求这些数最多能被平均地分成连续的多少段。数的个数<=1000000,1<=每一个数<=10,所有数的总和<=1000000。

签到题?似乎可以枚举答案。先前缀和一遍,然后O(n)分段,看是否可以分成相等的若干段,从大到小枚举,一但符合条件就输出即可。乍一看,貌似是O(n^2)的算法,但仔细想一想,其实可以在分段之前先判断一下所有数的总和mod当前枚举的段数是否为零,如果不为零就肯定分不了,跳过,否则就开始分。这样时间复杂度就降到了O(sqrt(n)*n),再加上一些玄学优化,然而还是TLE。然后我想了想在分段时是否可以运用二分查找,结果脑子抽了的我算错了时间复杂度,以为这样会比纯暴力还慢,其实是O(nlogn)。于是我就没有把二分加上,只用了一些奇怪的优化。差不多一小时搞定这道题。

T2:密码锁

题目大意:给出n个不大于m的数,每次操作可以将一个连续区间中的数同时加一或减一,如果一个数在一次操作后小于0,则令它等于m-1;反之,如果一个数在一次操作后等于m,则令它等于0。求最少要操作多少次才能使所有数均等于0。数据范围记不太清了,n和m好像都是10^5级别或10^6级别的。

看到这道题,首先条件反射,想到了区间dp,推了一会儿,推爆了。又想了一会儿,没想到好的做法,果断跳过看T3。

T3:涛涛摘苹果

题目大意:有一颗有根树,每一个节点都有一个权值。每过一个单位时间,根节点的权值会清空,然后所有节点的权值都会转移到它的父节点那里。比如说这棵树:

(节点上的数字表示这一个节点的权值)

一个单位时间后,它会变成这个样子: 

接下来有若干条指令,可以分为两类:

1、在第t个单位时间时,给某个节点的权值加上w。

2、询问在第t个单位时间时,某个节点以及它所有子节点的权值总和是多少。

对于每一个询问,输出一个值表示答案。

节点数和指令数好像都是10^6级别的(数据范围记不清了)。

这道题有50%的数据点都是具有特殊性质的,比如说有10%的数据树是退化成一条链的,还有一些点是只有询问指令的,等等,还有10%的小数据。当时我就想着“面向数据编程”,对每一种特殊情况都搞一下,于是我就马上开打了。我先打完了10%的暴力,直接O(n)处理每条指令,轻松过样例,然后又转向数是链的情况。对于树是链的情况,我的想法是用一个队列去模拟,打完发现并没有比暴力快多少,呵呵。保险起见,我还是把这种特殊情况删掉了。码了我差不多两个小时吧。其实我想到了只有询问指令的那些数据的一点点思路,但由于时间真的不多了,我就没再继续想下去,拿好暴力分就行了。

折回来看T2,还是没想到什么好的解法,便直接打了n=4的爆搜,以及m=2时的特殊情况。显然,m=2时的答案即为n个数中有多少段连续的1。因为数据范围貌似并没有明确指出有m=2的情况,所以我也不能确定是否可以水多点分。写了三十多分钟(太久没写爆搜,写这题时写爆了好几次),奔向T4。

T4:小学生图论题

题目大意:有一个n个点有向图,每两个点之间都恰好有一条边相连,现在已知m条简单路径,求图中强联通分量的期望个数,然后要取一个很奇怪的mod。数据范围完全忘了,好像比较大吧……

“XX学生XX题”系列 & 不可做的期望题。一开始我想了想m=0时的情况,但并没有什么用。随便输出个数,走人。

 

期望得分:80+20+10+0=110

 

中午又去一中蹭饭,回酒店的路上和lah谈笑风生。在酒店看了会电视。

 

下午评讲:

T1:前缀和+枚举所有数总和的约数乱搞,如果这一个约数的一倍、两倍、三倍等等都在前缀和中出现,那么显然这一种解是可行的。时间复杂度≈O(n)。

T2:差分+贪心乱搞,似懂非懂。值得一提的是,出题人给了10分m=2的数据,嗯,不错……

T3:奇怪的数据结构,不懂。

T4:仍然是不懂的期望题。

四十分钟讲完,成绩单马上发下来了(这次的打印机不错哦)。

我怀着期待的心情,看到了成绩单,心里顿时凉了。实际得分:50+15+10+0=75。

T1不知道为什么WA了5个点,只得了五十分,可能是我写的某个玄学优化存在漏洞。T2那20分的暴力分我只拿到了5分,很有可能是因为我直接写了dfs,而不是bfs或记忆化搜索。当时我还天真地以为这么小的数据dfs肯定能水过(其实我写过记搜,但写挂了,这使我误以为这题用不了记搜,于是直接写了爆搜,呵呵),结果白白挂掉了15分,还好有10分m=2的数据补了回来。T3倒是意料之中的。T4果然爆零。

lah也爆炸了,他T1WA了8个点,只拿了20分,总分50。一向很大佬的lah竟然爆了,这是我没有想到的。

fmj90分,大佬。

czy85分,大佬。

初二初三几个100+,大佬。

我和lah两个闷闷不乐地去复测,czy因为T1最后两个点发生玄学错误也陪我们一起去了。此时我心中还怀着最后一丝的侥幸心理,也许评测机突然死机了什么的。

闷热的下午,等了一两个小时,终于轮到我们了。lah重测之后发现他的T1一个if写炸了,也没有再说什么。我重测之后还是一样的分数,T1某个优化可能写错了,T2那20分的数据用爆搜是水不到的(lah用记忆化搜索水到了,大佬)。czy重测之后发现数组开小了……

怎么说,还是有点遗憾吧。但我心情也没有很坏,毕竟我还是初一,连NOIp提高组都没参加过,这一次只是过来见世面的。Day2加油吧!

晚上回酒店,照样很晚才睡。

Day 2

 早六点多起床,又跑到楼下饭堂吃了一顿“极其油腻”的早餐。不同的是,自助餐改成了围餐,但还是吃一样的菜。昨天算了一下分数,今天至少要160分才有希望进day3,感觉有点悬。

吃完早餐之后很快就走到了一中,进了机房。这一次比赛的开始时间只推迟了10分钟,开心。

不久,解压密码就公布了:easy?GDKOI2019_jian!。看来昨天的题目被一众大佬喷得不轻。

T1:谈笑风生

题目大意:给出一张无向图,每一个点有一个值Wi。对于两个点,判断1与1..Wj中的每个数是否互质,判断2与1..Wj中的每个数是否互质,判断3与1..Wj中的每个数是否互质……最后判断Wi与1..Wj中的每个数是否互质。若互质,则它们之间的边的边权就加上这一对数的和。现在可以将每条边的边权都可以减少一个值K,求K最小为多少时才能在走过的总距离不超过T的情况下从节点1走到节点n,并输出在K最小的情况下从节点1走到节点n的最短路径的长度。Wi<=10^9,n,m<=10^5或10^6(记不清了)。

这道题求出边权之后不就是裸的最短路+二分答案吗?当时思想太僵化了,竟然没想到用gcd来判互质,硬是打了个分解质因数来判!都想扇自己一巴掌了。结果原本50+的算法硬是被我搞到了20。

T2:滑稽子图

题意我忘得差不多了。

这道题一上来就是一些奇奇怪怪的数学符号,搞了半天才弄明白。搞明白之后也没想到什么解法,并且T1已经费了很多时间了,有点慌,所以打了一个10分的暴力就走人了。(好草率啊)

T3:木板

这道题的题意我也忘得差不多了。

咦,是区间问题耶,我想起了我省选前刚学不久的莫队,再加个线段树也许可以水一波?然后就如火如荼地开始码线段树+莫队。码完后又调了好久好久,结果发现这道题不具有区间可加性啊,噢,GG。最后还是老老实实地打了10分的暴力。

T4:巡逻

这道题的题意我又忘得差不多了(怎么老忘题)

看到这道题时时间已经所剩不多了,也没多想,乱搞一通就完了。

 

期望得分:20+10+10+0=40 ---------------- Day2光荣爆炸,感觉自己马上要滚粗了......

下午也没心情去听评讲了(反正也听不懂),颓在酒店看电视。

成绩出来之后,fmj把成绩发给了我,和我估计的一模一样,呵,呵呵......

fmj 20

lah 30

czy 0

看了看初二初三的成绩,发现我Day2差不多是最好的,然而Day1被强势碾压(所以我神气个啥),看来还是拿稳难题的暴力分好啊(但是D2T1还是爆)

看来进Day3无望了(我这个蒟蒻还想着进Day3?!),不过这毕竟是第一次,以后还有机会,努力吧。

晚上到酒店继续颓,刷完了一堆电影。

至此,GDOI2018,总分115,完美爆炸+滚粗。

Day 3

Day3这一天,也许为了弥补一下比赛爆炸的遗憾,我去听了网络流讲座(虽然什么都没听懂),除了ywq和我其他人都去旅游了(孙中山故居???)

回酒店继续颓(我好颓啊)

Day 4

上午闭幕式+颁奖,几乎是压线拿三等(三等线110,我115),没想到三等还有奖牌耶!!!

初二初三若干位大佬没来闭幕式(听说去浪了,结果被教练说了一顿),于是就顺便过了一把上台拿二等奖奖牌的瘾(虽然并没有什么用)

话说这是我们学校近几年来考得最差的一次,没有一个一等,嗯......任重道远,毋忘奋斗啊!

后记

这一次考试,失误还是蛮多的。首先是D1T1写炸了,没有拿到应拿的80分(再搞一搞也许有100分),然后就是D2T2没有拿到暴力分,作死写了爆搜,还有就是D2T1没有使用合适的判互质方法(就是个gcd我都想不到,思想僵化),最后就是D2T3没有好好想就开始码,耽误了很多时间,搞到D2T4根本没时间搞啊。总的来说,还是比赛经验不够,还是平时打比赛打得太少了呀。

那么,既然这次挂了,就在NOIp2018再战吧!!!

 

QWQ

 

P·S:因为这篇游记Day2及Day2以后的内容拖了几个月才完成,所以有些细节记不清楚了(所以有些烂尾),还请见谅。GDOI2018所有题的题意以及题解都在这里(转自ONION_CYC的博客,其中也包括Day3的题),有兴趣的同学可以看一看。

 

真·<完结>

 

转载于:https://www.cnblogs.com/wozaixuexi/p/8969750.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值