zoukankan      html  css  js  c++  java
  • 【比赛游记】NOIP2018游记

    往期回顾:【比赛游记】NOIP2017游记

    转眼间又过去了一年,当年还是初中生的我已经摇身一变成为了AHSOFNU的高一学生。

    回顾这一年我好像也没学什么新东西,要说有用的可能就无旋Treap吧,不知道能不能在NOIP上起到作用。

    NOIP2018 rp++

    ————————————————————————————————————————————————————————

    普及组是没去了,听说普及很难,我看了看好像也没啥……

    提高D1:

    密码:"Fei2Xue@Lian$Tian!",想起了前些天离开了我们的金庸老先生……

    先把三题都看完了,花了大概10min的时间。

    T1是原题,NOIP2013积木大赛,两年前就做过了,应该不会挂。自己抄自己的原题可还行。
    用时4min打完了。

    T2看了5min,没发现什么性质,于是去想T3。

    T3一下子就想到是二分答案+树形DP。
    为了保险,先看了部分分,发现分数挺多的。
    于是打了m=1:求树的直径,我写了个DP做。
    还有ai=bi-1:链,直接check。
    以及度数<=3:二叉树,转移比较简单。

    这时候大约又过去了一个半小时,想了想T3的正解怎么做,发现有点难写。

    于是返回去做T2,仍然没思路,写了个暴力把能被表示的删掉,发现大样例过了……
    自己证明了一波发现暴力是对的,改了一下代码让它变得好看一些,电脑右下角显示着10:32。

    开始写T3正解了,证明了一下转移的时候先选择最小的匹配最优,然而怎么写怎么挂,拍了拍发现还是有点难写。
    肝了一会儿双向链表终于过了大样例,感觉很科学。这时是11:00。

    后面又花了一会儿把T3改的好看了一点,删掉几个没用的部分分,最后提交了二叉树的部分分和正解。总共128行……

    虽然T3早就想到了用multiset的做法,写起来很简单,但是怕set常数太大TLE,只好用排序+双向链表。

    赛后交流了一下发现T3有很简单的压栈做法,突然觉得自己又傻了。

    问题:

    初步看来没什么问题,默写了自己的代码,洛谷数据都过了。
    洛谷T3的#18测试点数据有误,害我虚了很久,后面发现是能过的。
    希望提交的代码没有写挂的地方吧。

    估分:

    100 + 100 + ~100 = ~300。前两题有自信不会挂,T3要是写挂了可能会炸成 55 / 45 分。
    更新:使用考场代码洛谷测试为 100 + 100 + 100 = 300。不知道在 CCF 机子上面怎么样。
    成绩出来后:100 + 100 + 100 = 300。一题都没挂,不错。

    提高D2:

    奶一口有原题。
    奶一口密码是"XiaoShuShenXia"。
    RP++;

    没有原题,密码的确是"%xiao#SHU!shen9XIA"。

    花了14min看了一下三题的题面,不理解T2样例2怎么算的112,手算是144。

    一看T1数据范围只有两种,不就是基环树DP吗,赶快写了,然而找环写了我好久。
    写完,大数据过了,已经过去52min了,留给后两题的时间已经不多了。

    T2仍然不知道样例怎么算的,一直在找反例没找到,于是去想T3。
    一看是个没有上司的舞会,那还挺简单,不过有限制就不会做了。
    想了半天怎么处理,各种推式子就是推不出来,打了个44分暴力。

    突然找到了T2的反例,但是加了这个限制就不会做了……
    看这个数据范围,突然想找规律,于是开始写暴力,写的好麻,终于写完了开始打表找规律。
    事实证明找规律是妙极了,把n<=6的点规律全跑完了,开始跑n=m=7。

    这时候还剩1h30min,想要再做一做T3,但是仍然没有头绪,链的也不会做……
    其实A1,A2是很好做的,但是A3把我卡住了,就跳过了A1A2的20分,想来好亏啊。
    最后把B1搞出来了,没发现啥问题。同时T2的打表n=m=7的也跑完了。

    之后的时间都在检查+跑n=7,m=8的,不过最终也没跑出来n=7,m=8的点……

    问题:

    最好不要有打挂出现,但是由于时间分配和部分分策略的问题,导致T3丢了一些分。
    不过T2的打表还是很不错的,希望T1和T3不要写挂。

    更新:使用考场代码洛谷数据测试为 100 + 80 + 52 = 232。
       使用考场代码学军数据测试为 100 + 75 + 52 = 227。
    看起来都没怎么挂题,很开心,这是去年来的一大进步。

    估分:

    ~100 + 65~75 + 44~52 = ~209~227。
    更新:100 + 70~80 + 52 = 222 ~ 232。
    成绩出来后:100 + 75 + 52 = 227。

    TG总分:

    100 + 100 + ~100 + ~100 + 65~75 + 44~52 = ~509 ~ 527?
    更新:100 + 100 + 100 + 100 + 70~80 + 52 = 522~532?
    成绩出来后:100 + 100 + 100 + 100 + 75 + 52 = 527。
    喜提全国唯一一个 527 分!

    总结:

    千万注意要保证自己能拿的分都拿到,挂掉一两题的代价是巨大的。
    注意考场策略,对自己要有信心,注意看部分分的得分分布。

  • 相关阅读:
    C#Light 和 uLua的对比第二弹
    Unity3D热更新全书FAQ
    Unity3D热更新全书-脚本(五) NGUI
    Unity3d热更新全书-加载(二)如何在不用AssetBundle的前提下动态加载预设
    Unity3D热更新全书-下载 唯一的一篇
    Unity3D热更新全书-PageZero
    Netty4.x中文教程系列(二) – 白话概念
    Netty4.x中文教程系列(一) Hello World !
    Java NIO(New I/O)的三个属性position、limit、capacity
    Buffer
  • 原文地址:https://www.cnblogs.com/PinkRabbit/p/NOIP2018.html
Copyright © 2011-2022 走看看