码迷,mamicode.com
首页 > 其他好文 > 详细

noip2017颓废记

时间:2017-11-24 00:18:44      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:注意   模拟   初中   状压   独立   表示   模板   一个   处理   

作为一个从初中就开始学信息的蒟蒻,自然要去提高组了~~~  
比赛前day1

跟平常一样在机房颓废着,上午在洛谷看到了站长大人的忠告后,看了看模板题,发现没几个会打的(正常)。

下午想一想发现自己的dp垃圾的不行不行的,于是去看了看自己以前写的dp,顺便写了几道普及级别的dp,有几道还不怎么会写,感觉自己要完蛋了。。

晚上早早地就睡了,一直在床上回忆模板,半夜一点左右发现自己主席树模板不记得了,方的要死,翻身下床看了一波,总算可以安心睡觉了。
day1

早上在车上看了看昨天晚上写的vim配置和Linux下的对拍(比windows下的好背多了),顺便背了一下前天刚学的神器pb_ds(联赛用了好开心,hhhhhh)。

再日常祭天(alb)之后就进考场了。

干坐半小时后,题目终于发下来了,先用半个小时左右把vim配置打完了,调了好久一直re,最后发现少打了个分号。

好不容易弄好后开始看第一题,本来我以为提高组第一题会像以前水的,看了眼样例,以为是a+b+1,结果大样例不对,瞬间崩溃。

后面我发现,可以把大数y写成kx+b的形式(x是小数),然后考虑余数b对答案的意义,因为b只有大数可以提供,所以要答案尽量大的话,b最多可作出(x-1)的贡献(再多的话可以用小数来表示),但是当有(x-1)个b时,必定会出现k*(x-1)个x,所以再减去一个x就必定凑不出来了。写了个背包对拍了一波发现没有毛病,大概半小时解决了第一题。

看到第二题一开始觉得不可做,字符处理太麻烦了,又看了眼第三题发现第二题貌似easy些,就硬着头皮暴力模拟了,开个栈维护一下变量名,记录一下最大时间复杂度,最后没有err的话就与答案比一下即可。

注意几个细节:

1.要考虑 “F n n”的情况。

2.要标记进不去的循环,在这个循环出栈前所有的循环都不会对答案作出贡献。

3.会有多个独立的循环加嵌套,我们需要记录时间复杂度最大的那个。

不知不觉写了一百三十几行,感谢大样例测出了程序几个小bug,第二题也顺利解决了。

来到第三题,还有一个小时左右,先写了个暴力搜索(考场上以为有50分,出来后发现只有十分的,结果ccf给了30,happy~~)

想了一会觉得就是个缩点+拓扑dp,于是打了个缩点,结果重新建图是出毛病了,又一想发现我想的dp不好写,于是就放弃治疗了。

于是第一天 100+100+30

出来发现机房几个dalao第一题写的拓欧,第一题是真的坑。

第一天感觉还行,只是没有树剖题,没意思
day2

前天晚上终于睡好了,今天在车上没有睡觉。又看了看配置和dp,就进考场了。

拿到题目,t1比昨天水多了,看两眼秒掉了,不过好像极限数据有坑,会爆long long,没考虑到,幸好ccf没卡我(6666),有惊无险地过了。

看了看t2,按照套路,先打了个bf,发现dfs打错了,小样例都过不了,果断删掉了。看了看数据范围,觉得和去年愤怒的小鸟一样,果断写了个状压dp,发现大样例过不了,比答案小(生无可恋,原地爆炸。。。),又读了读题,发现点毛病,又开了个数组记录了一下树的状态。过了大样例,就没管了。

t3一看就不会写正解,先把前三十分骗了,看一下特殊数据发现只有一行的情况可以塞到平衡树里,每次询问第k小就行了,开心的把pb_ds搬了上来,搞定!!!

之后一个多小时一直在思考t3,试了树状数组,差分之类的,但没搞出来,day2就这样结束了。(后来出来机房dalao跟我说询问很少的那20分也好骗,当时没想到)

第二天最后 100+100+40
后续

出来之后听同学说不能用下划线开头的命名空间,想起自己的__gnu_pbds,感觉自己药丸。

回到学校想了想发现宝藏这题好像并不具有最优子结构的性质,完了完了

回头把day2t2交到洛谷上结果过掉了,还跑得贼快。(事后发现出错率极低,随机个几千组才会错一组,无法理解)

总之这次noip达到了自己的预期目标(400+),继续加油。

noip2017颓废记

标签:注意   模拟   初中   状压   独立   表示   模板   一个   处理   

原文地址:http://www.cnblogs.com/dengyixuan/p/7886468.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!