GDOI2017模拟 第三场(4.19~4.21)

来源:互联网 发布:苹果桌面主题软件 编辑:程序博客网 时间:2024/06/05 00:43

第三轮…
上一轮问题有点多,这一轮要好好改善!!!

Day 1

噢,一看题就听到栋爷说是HNOI的题,之前听过富榄说第一天他2个小时AK了,第二天很鬼畜,不知道这是第一天还是第二天…
第一题,一上来就是一个”spaly”,看了好久才把题目看完看懂,想了10多分钟发现它旋转其实就是把最小或做大的节点提到根,树的其他结构不变,然后突然发现有删除…难道要Lct???但是想着想着感觉到根的路径可能会有一些比较复杂的情况,就先放一放。
第二题,一看到是区间询问,果断可以莫队啊,但是直接做好像还带个log,想了想发现可以预处理一下把log去掉。那么O(nn)的复杂度应该能过,但是有些细节可能有点麻烦。
第三题,怼大佬,一看就特别怂想着先预处理用3,4,5来怼掉大佬i点血的最小使用天数,可是大佬的血也太多了把,根本存不下啊…有点绝望,先跳了。
第四题,计算几何,一眼就觉得不可做,弃了。
先打第二题,发现想的有些细节没考虑上,所以边打边想,打完拍完居然花了一个多小时……回去想第一题发现由于是最小值和最大值所以到根路径的情况只是最简单的情况,可以直接移到根。但是已经没什么时间了,而且第三题暴力还没打,就上了暴力。

最后成绩 20+100+40+0=160,第一题直接用Lct,一些很基础的操作就可以了,但是我太久没打就不敢打,比完赛后打都调了很久…第三题原来有用的状态很少,就直接用hash存状态就可以了。第四题…算了把…而且听说今天的题是HNOI两天,每天去掉一道最水的题组成的,而且只有4个小时。

总体来说今天策略还可以,写完第一题后没有开第一题而是选择写暴力,但是第二题还是有点失误,由于在打之前没有把细节想的特别清楚,导致写的时候有些地方很模糊,反复推了好几次才搞好。这种情况是要避免的。

Day 2

今天难得用word做题,而且,居然还出现了昨天做过的一题…
第一题一看感觉好丧啊,一点思路都没有,只会瞎走,去想第二题了。
第二题,又是数据结构题,而且两点之间路径的问题,肯定是要点剖啊。然后相同颜色的处理有点麻烦,想了想记录个所有颜色的最大和次大就可以了。但是还有路径条数的限制。看到第三题是字符串题,就先放一下这题去刚字符串题了。
第三题,明显要用AC自动机做,感觉对于每种字符串建个自动机,然后dp一下就可以了。发现这样只能过60分。看了一下后面的点,字符串长度有比较特殊,当长度为1时可以用矩阵转移,长度为2时好像有点麻烦。先拿着80分先,去看第四题。
第四题,这个模数是10的k次方,可以直接用组合数算,好像可以过70分!
先打第三题,边拍边打80分居然搞了1个小时,看来码力真的不行了啊。继续想剩下的20分怎么做,好像转移矩阵要乘个26啊,那肯定T了。又想了一会儿,还是没有什么特别好的想法。就去打第四题了,打着打着发现可能不存在逆元啊!那不是要组合数取模,好久没打了,应该是打不出来了,看了一下前几档的部分分,都要求组合数,而且都不存在逆元,gg,浪费了几十分钟一分都没捞到…生无可恋了…已经没什么时间了,只能把前两题暴力打了。

最后成绩 30+30+80+0=140,垫底了…突然发现自己蠢了,组合数不是可以n方预处理吗…这样30分就没了。被虐了几条街。第一题要用奇怪的dp,感觉就算考场上刚也刚不出来,第二题就是很简单的点剖,两个log就能过,考场上没继续想这是太蠢了,最后一题是HNOI的题,幸好不是GDOI…

今天第四题出了大问题,居然连30分暴力都没有拿!一心想着求组合数一定要用逆元。感觉是因为当时第三题做了太久导致剩的时间比较少而头脑发热,看来考场上保持冷静也是很关键的,还有就是第三题一直想着矩阵乘法,没有回归最基本的dp,本来如果顺着dp想很快就能想到最后20分的矩阵,也是因为思考的方式不对。最后第二题错误的估计了难度,很多人都切出来了,我却只有30分,总而言之就是要保持清醒的头脑和清晰的做题策略。

Day 3

一看第一题,哇,什么鬼啊,好复杂,不想想了,先跳。
第二题选择一个子树不选然后做背包,但是代价太大了,可以用价值作为下表。询问相当于是在dfs序上的一个区间,那可以莫队,然后背包只支持插入操作,那就打个只有插入的莫队。但是复杂度太大了,看了一下数据,发现可以当价值较小时以价值作为下标,价值较大时代价作为下标,这样就有80分。想不出什么更好的办法了,先跳。
第三题,有是大数据结构题,感觉思想应该很简单但是实现起来可能比较麻烦。先看后面的题。
第四题,先化简一波式子,发现加的自然数c是定值,而且只有xiyi这部分不确定的,这是一个很经典的fft的形式,直接上然后找个最大值就可以了。
不管这么多,先做第四题,20多分钟打完后发现WA了,但是fft又不可调,那就很尴尬了,看了好久发现次数界没有赋值成两倍,可是还是有问题,再看了一下发现放到fft数组的东西我居然是从下标1开始放的,还是不对,最后发现有个变量打错了。终于对了,眼调了20分钟,好亏啊!继续打第二题,打完后发现看错题了,不是选一个区间,而是不选一个区间,这就很难受了,发现只剩一个多小时了。但是就这样放弃这题又太可惜了,想了想维护个前后缀就可以了,比之前打的版本还要简单。差不多1个小时打完拍完后,发现只剩不到30分钟了,果断刚暴力,打完两个暴力后只剩2分钟了…

最后成绩 20+100+40+100=260,分数还可以,但是觉得如果第二题没有浪费打半个小时的话还可以拿高几十分,但比昨天已经好很多了。第三题就是考数据结构能力的,思想很简单,如果给我第二题浪费的时间我能打出来吗?还是挺难的,代码能力还是要提高。第一题似乎是网络流,用到了欧拉路径的性质,还是挺不错的。

这次比赛还是反映出了挺多问题的,比如说第四题的一个模板还看了20多分种,这种东西就应该5分钟打出来的,在代码熟练度这方面还要提升。另外就是跟昨天一样也犯了一些低级错误,这都是头脑不够清醒的表现,以后还要注意。

总结

这次的模拟,暴露了很多我的低级错误,也导致丢了不少的分,这轮的总分160+140+260=560,怎么又是最后一天最高……第二天挂的太惨了,导致第三天的分数显的并没有什么卵用。如果GDOI时挂了其中的某一天都是要GG的,主要是NOIP也很低。所以还是那句话,稳定是最重要的。

依旧列一下下一场比赛需要注意的。
1. 考场上一定要保持头脑的冷静,如果发现自己比较急躁或这脑子比较空,可以先停下来,冷静个几十秒,整理一下思绪,回到自己最佳的状态。
2. 在写一道题之前,应该把一些比较关键的细节想过一过,看一下会不会遇到什么不顺手的地方,在开写之前尽量先解决,看一下这会不会是自己算法的一个漏洞。在理清思路后再去码,减少自己浪费的时间。

1 0
原创粉丝点击