zoukankan      html  css  js  c++  java
  • NOIP2017滚粗记

    NOIP2017滚粗记


    扯淡

    考完联赛后一直在搞文化。。。
    联赛过去了不知道多少天了才来写这东西。。。。


    Day0

    早自习知道了要期中考试。
    感觉心态炸裂了。
    上午在乱敲板子。。。。
    打了一堆莫名其妙的数据结构。
    其实完全没什么卵用啊。
    下午老师说要调整心态。
    调整心态啊。。。。。
    那就颓呗。orz yyb大佬 直接用解放军虐翻美帝
    感觉CJ的象棋素质不够高啊,就连我这种渣渣都没人下得过。
    晚上在家里颓?
    10点就睡觉了,不过躺在床上想了很多乱七八糟的事情。

    Day1

    出发的比较早,早餐在长理的食堂吃的,味道还不错。
    然后8:15进了考场,感觉今年确实很严格啊。
    尼玛开考前不准动电脑?
    闲的蛋疼的我赶紧默了一遍配置。
    这个NOILinux怎么设置了密码?
    哼,我毕竟曾经在NOILinux上安装过网易云。
    当然不会忘记NOILinux的密码。
    看着周围同学一脸懵逼,机智的我输了个123456就进去了。

    进去一看,这什么垃圾系统。
    工作区都没有?外观里面开不了?
    不支持新建模板功能?
    然后我在文档里面发现了一些诡异的东西。
    CCF今年太良心了吧!!
    模板已经给你打好一大半了。
    还有对拍也给你打好了。
    emacs配置里面给你自动加上了编译命令。
    不过配置+模板还是消耗了大约10至15分钟。

    15分钟看完题目。
    T1明显是一道规律题目。
    T2直接模拟。
    T3的话。。。。。为啥k这么小呢?是不是可以搞一些奇怪的算法。

    然后开始想T1。
    一开始在观察样例。
    (a< b)
    对于任意(x=ak+r)
    我们要使其可以选,
    r肯定是用b来搞掉的。
    那么又(gcd(a,b)==1)
    所以每一个r都需要对应个数的b来搞掉。
    所以b用的最多的就是(a-1)次。
    所以答案为((a-1)*b-a).
    (ab-a-b)

    tnnd想了我好久啊。
    不放心还打了个拍。
    这时候大约是9:15的样子。
    去上个厕所稳下。
    然后看T2.
    tnnd还是细节很多的。
    不过反正不用担心复杂度的问题。
    一顿乱搞总之就过了大样例。

    这时候10:00了。
    还有两个小时,感觉今天很稳啊。(内心真实写照,感觉奶死了自己)
    然后T3不会做了。
    尴尬。
    部分分貌似不是很好拿。
    感觉有点捉急。

    bfs肯定可以TLE。在最短路很长的时候跑的会很快。
    DP肯定可以MLE。但是可以处理最短路很短的时候的情况。
    嗯。。。。。。
    那就直接把这两东西搞在一起不就可以了吗。
    然后就开始打BFS+最短路剪枝。
    没打多久就打出来了。
    我去你大爷的。
    大样例一次要跑1分钟(O3)。
    还是个错的。
    答案就比大样例少了20几。
    崩溃了,调到11点中没有调出来。
    决定再打DP。
    然后20分钟打完,大样例过了。
    这就很舒服.......
    打个对拍,好像在最后20分钟调出来了。
    然后就一直在测极限数据。
    我的程序是如果最短路大于某个值,就BFS,否则就DP。
    然后我就一直在调这个参数,最后发现DP跑的慢的要死,一怒之下设成了100。
    最后还是检查了一下。
    貌似没有问题。


    出来膜拜ZSY大佬怒切T3.
    下午在颓刺客信条。
    晚上突然想起T3忘记初始化路径。
    完了,心态爆炸,GG上天啦。
    期望得分:
    (100+100+0=200).

    Day2

    今天走的很早,还是在这边吃的饭。
    进考场了。
    仍然是10~15分钟敲配置+模板。
    然后再看题目。
    T1明显套路煞笔题。
    T2一看就感觉是状压,又感觉不是。
    比较n<=12的都应该可以用搜索做了吧。
    T3我一看就知道是差分,但是我并不会做。
    果不其然,联赛这尿性就是每年一道差分题

    水完T1差不多9:15的样子。
    接着刚T2。
    果然状压好像不行啊。
    必须记录每个点到根的距离啊。
    那就搜呗......
    加了个最优性剪枝发现跑的贼快。
    但是极限数据过不了。
    麻烦啊。。。。。
    然后发现对答案有影响的只有两个东西。
    所选的边的边权。
    所选的点到根的距离。
    那我是不是可以A*?
    把搜索顺序按照一个估价函数的值排序。
    然后小的答案就会排在前头。
    然后我的最优性剪枝就会发挥作用。

    不得不说我想的太多了,
    由于每次要开一个数组来存搜索顺序。
    不管我怎么改估价函数,
    跑的比原来的还慢。

    我一气之下只搜按照估价函数排序后前一半的决策。
    tnnd,跑的还是很慢啊。。。。
    不过答案是对的诶。
    搜1/4?慢
    搜1/8?慢
    搜1/16?WA了.......
    后来只搜前3个决策。
    勉强能过而且不TLE。
    打了个对拍,然后就放那里拍。(60s才能拍一组强不强?)
    应该还剩下1h30min的时间吧。

    然后就去写T3了。
    50分就随便乱搞一下。
    不过调了我好久啊,最后只剩下50分钟了。
    然后我发现30分需要打平衡树。
    50分钟我打的出来么.......
    这时候一看发现T2拍WA了。
    发现拍了50多组数据就WA了。
    好可怕,然后仔细一测发现还是个T的。
    再稍微缩小了一下决策范围。
    应该还是挺稳的。
    (出题人应该不会卡我这种鬼畜的搜索算法吧。。。。。。)
    然后突然发现T3剩下30分可以写值域线段树。
    哈哈哈,单点修改线段树就十分舒服。
    大约10分钟后我写完了。
    测了一组小样例我就没管了。
    最后糅合部分分的时候真tm烦。
    差点没搞好。


    出了考场感觉Day2的状态不错。
    然后下午一测。。。。。
    T3忘开Long Long。
    GG了。
    期望得分:((100)+(100-??)+40=240-??)

    总结

    这次考试的话,感觉考的不错,但还是留下了很多遗憾。
    Day1T3就忘记初始化。虽然加上之后只有30分,又WA又T又RE
    Day2T3忘记开longlong,导致辛辛苦苦打了80分,最后只能得到40分。

    两天都是T3出毛病,感觉跟我的紧张心态脱不了干系。
    同时也跟平时考试时的放松有关系。
    直到联赛前的一次模拟考试,我仍然犯了不少低级错误。
    想必联赛的时候肯定更容易犯错吧。
    会做题是实力,可是能拿分才是真正的实力。

    最后的扯淡

    为期一个月的NOIP集训就这么结束了。
    然后我就去考期中了,
    然后就被爆踩了。
    准备被各科老师怼死。

  • 相关阅读:
    面向对象程序设计第五次作业
    C++第一次作业
    面向对象程序设计第四次作业
    面向对象程序设计第三次作业
    C++自学笔记(3)
    C++自学随笔(2)
    软件测试2019:第七次作业—— 用户体验测试
    软件测试2019:第八次作业—— 缺陷管理(含缺陷管理工具的配置实验)
    软件测试2019:第六次作业—— Web功能测试(含Selenium IDE实验)
    软件测试2019:第五次作业—— 安全测试(含安全测试工具实验)
  • 原文地址:https://www.cnblogs.com/gzy-cjoier/p/7854245.html
Copyright © 2011-2022 走看看