zoukankan      html  css  js  c++  java
  • noip2017颓废记

    作为一个从初中就开始学信息的蒟蒻,自然要去提高组了~~~  
    比赛前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+),继续加油。

  • 相关阅读:
    JS DOM2级事件兼容处理
    JS DOM2级事件基础
    JS 事件基础
    JS 动态规划 LeetCode 一和零
    JS 动态规划入门
    JS 动画优化 代码篇
    LeetCode笔记整理1 摩尔投票法
    LeetCode笔记整理3 二叉树中序遍历 Morris中序遍历
    java面向对象编程——第四章 类和对象
    java面向对象编程——第六章 数组
  • 原文地址:https://www.cnblogs.com/dengyixuan/p/7886468.html
Copyright © 2011-2022 走看看