zoukankan      html  css  js  c++  java
  • NOIP2017总结与反思

    手动博客搬家: 本文发表于20180213 00:01:05, 原地址https://blog.csdn.net/suncongbo/article/details/79319556

    //由于12月生了两场病、1月忙于课内、2月前10天一直参加培训,一直没找出时间来写NOIP2017的总结,直到3个月后的今天。。

    考前一周从QBXT回来,停课两周,去了QDEZ的NOIP总动员,听st_nec大神分享经验。

    1. 去了要戴手套。
    2. 前几天要保持比赛状态,用洛谷月赛/cf virtual_participation来保持状态。
    3. 试机的时候,一定要打个对拍,如果有条件的话写个spfa和dijkstra对拍测试一下queue和priority_queue,觉得时间不够就搞个sort和冒泡拍一拍。第一件事要把每个键敲一遍,还要快,不然晚了考场缺键盘可能会给换个游戏键盘就GG了
    4. 注意拿部分分,例如NOIP2016换教室一题,概率全都是0或1能过6个点,此外如果m=0(不能换教室)用floyd直接又水掉4个点,m=1讨论一下又有7个点,m=2稍微麻烦点讨论又有5个点,在什么都不会的情况下加起来22个点88分get(虽然这一招这次并没有用上,题目部分分分得不够细,也没有大表格数据范围和测试点变多的大趋势QAQ)
    5. 考试的时候一定要对拍,不然等于没做题。就算是最暴力的暴力也要把暴力重写一遍拍。(夸张了吧)
    6. 考试做不出来题多上厕所。
    7. 一定先把所有题读一遍,别上了题目顺序的当。
    8. 一定开编译warning开关:在devcpp中compiler options中上面那个框里输上-g -lm -W -Wall -Wextra -Wconversion,功能很强比如提醒变量未赋值、忘记return、类型转换等。(可惜搞不了数组越界

    20171110 Day 0
    中午到。下午背了会板,闲的无聊搞了搞O(nlogn)的LIS. (考试前一天当场学新东西)去试机。(所幸在RZYZ考,没有去QFNU)
    遇到了PJ的同学们LL, LBX (居然都和我一个考场)对面坐着wdyhy... 吓人。。
    2min先把所有字符敲了一遍,5min写个冒泡排序,7min写个sort,9min写完checker, 12min写完generator, 又调了调,开拍。没有拍出问题。(我觉得我没水平写dijkstra和spfa拍)
    然后,感觉自己线性筛背得不熟,然后又写了个线性筛和暴力筛开始拍。
    25min过去了。最后突然发现忘记加warning命令了!!
    28min加完,写了个小程序检验。发现好用,OK。
    (一共写了5个程序)出去后,wdyhy跟我说他写了8个程序,测了什么map set之类的。
    话说我菜成这样set map都各只用过一次还WA了几个月到现在没A。
    当时心里想,这大概是wdyhy等高二学长们的最后一战了。祝他们考出理想的成绩。
    晚上回去写个spfa, 21:50了,写了15min居然调不出来,气急败坏睡了。

    20171111 Day 1
    t1: 这是什么?
    给定a, b,求使得方程ax+by=c无非负整数解的最大c值?
    emm??
    这是什么?
    QAQ??
    先码个exgcd.然后准备暴力。
    怎么暴力?ab~a枚举。写着写着发现非常难写,去看T2了。
    20min
    t2: 超级大模拟。。
    分类讨论先开个栈如果栈在最后不为空就ERR开个数组记录变量是否出现过出现多于一次ERR剩下的分类讨论设a<b
    (1) F i a n或F i b n 复杂度增加O(n)
    (2) F i a b复杂度不变
    (3) F i b a里面嵌套的循环全部失效
    到1h必须写完!不难!写啊写。乱得要死。
    50min: 好像有种特殊情况,F i b a里面套的有语法错误怎么办?!
    GG赶快改,先检验一下有没有语法错误
    1h: 好像还有特殊情况!F i n n!继续改。
    ...开了无数的数组,处理了无数情况。
    1.5 h写完2 h过样例
    随即测大样例
    ERR
    ERR
    ERR
    ERR
    ERR
    ERR
    ERR
    ERR...
    GG心情不爽,上个厕所回来看T1。
    手玩几组数据
    3 7 =>10
    3 10 =>17
    ans=2
    b-a?
    开始瞎猜
    不对这a和b不是对称的吗,怎么会2b-a?
    4 10 =>26
    4 7 =>17
    5 6 =>19
    手玩了5组数据,ans=a
    b-a-b!(又是瞎猜)最后猜对了。(样例专坑2*b-a)
    赶快写上,保证long long没问题后回去搞T2
    ps: 后来听别人说是这样证的:
    对于方程ax+by=ab-a-b,有a(x+1)+b(y+1)=ab,又因为a|a(x+1), a|ab所以a|b(y+1),又因为gcd(a,b)=1所以a|y+1,y+1>=a,a(x+1)+b(y+1)>=a(x+1)+ab=ab,x+1=0,x=-1矛盾。对于方程ax+by=ab-a-b+z,(z>0)有a(x+1)+b(y+1)=ab+z,设原方程一组特解为{x+1=x0,y+1=y0}则通解为{x+1=x0+bt,y+1=y0-at(t为整数)},显然x0和y0中总有正整数,调整t的值使得x+1∈[1,b]在这种情况下,a<=a(x+1)<=ab,b(y+1)>=z,y+1为正整数,y为非负整数。
    回去调T2终于调过了大样例手测几个,感觉基本没问题了,过2.5h,还有1h写T3
    T3: 什么?最短路计数?那就先跑个最短路好了。
    不过我昨天晚上刚写挂SPFA,还没调出来...算了写吧,dijkstra+heap我又不会写,比起n^2来spfa靠谱一些。
    打了个spfa板子,又大概写了个bfs吧,当时感觉时间复杂度接近O(n^n)的(反正不会做了我也管不了那么多),但是肯定NPC.
    多组数据...memset!!就这样,考前五分钟存盘检查,文件名都看了一遍,complexity一个一个字母地对。
    出考场...第一个碰到wdyhy,“T3就是在拓扑图上跑dp结果我SB没写出来”...我能说我连dp都没想出来吗QAQ
    看到走廊上hyw神犇在那里等我,第一句话“你T2考虑XX特殊情况了吗”,弄得我很慌张,总感觉忘了考虑什么...
    中午和hyw,lsx吃饭
    我:“哦对你们T3memset了吗”
    他们:“woc...memset?!”
    我:“没事就10分...我T2 100分都要爆了(当时场面需要随便说的)”
    自我估分100+70+10=180
    下午回去继续背板,搞一搞网络流。(听zhx说会考QAQ)

    20171112 Day 2
    进考场。第一题看上去很水,但做起来挺麻烦的。
    数据范围...会不会爆long long??仔细算了一下,910^18很玄,于是开了double为了防被卡精度还设置了eps对拍后还是感觉心里不安
    不过没办法,也只能这样了,被卡精度算我输
    T2: 看第一眼:咦我会70分啊
    于是去写写完以后终于调过了,发现大样例T了??大样例是70分标准啊emm???
    后来发现我的算法复杂度只够20分GG
    瞬间我“灵机一动”,发现好像用一个玄学的优化可以降低复杂度于是开搞,加了优化代码复杂度
    2,但为了那70分我毫不犹豫地写了特别难调。。
    终于调过了小样例赶快去测大样例发现...依然过不了...GG
    至今不知复杂度为什么过不了大样例。
    最后只好把两个暴力一起拍,总算没有拍出问题,但只剩下13min了。
    赶快看T3暴力感觉挺好写的写了15行剩下7min完了写不完了停下检查文件名、输出、编译...
    自我估分80+40+0=120
    这次题目似乎不难...分数线估计360了吧...
    滚粗交完,wdyhy:"T2傻逼状压"出考场,hyw依旧在那里等着
    第一句话:“GG”
    当时感觉hyw大概有:100+100+0+100+40+30=370
    现在说什么也没用了...
    回去吧,滚,滚回去学课内,竞赛不是我该干的事。
    到家后睡了3个小时,然后写地理作业。
    只好明年再战了。
    AFO 2017

    查分考完后的下一个周日,打了场CF作为退役赛。
    一名印度人hack了18个人...
    我因为被hack所以改过来了所以rk689了(当时最高rk)
    什么这是真的?那我rating可以暴涨了?
    晚上猜着我的rating: 1368(+100)? 1348(+80)? 1388(+120)? 1328(+60)? 最后感觉1348比较靠谱
    第二天放学,我第一个冲出校门,7min背书包跑了1000m跑回家(同学以为我疯了)
    先来个温馨的,再接受现实...
    上cf:"You got +132! Wow!"什么?!1400(+132)?! cf故意让我上specialist?
    温馨的过去了,去看冷酷的。
    www.noi.cn
    推迟发布成绩了?!
    就这样等了好长时间,直到特派员发出成绩100+100+30+100+25+0=355?!
    woc搞笑呢?!D1T3 30分?!
    好吧那我当它是真的
    hyw 100+100+0+80+40+30=350
    她D2T1莫名其妙被卡掉20分
    lsx D2T1爆零,255省一线260...
    黄岛开发区初二神犇tyfD1T1爆零...发挥失常150...
    ckw大佬莫名发挥失常,D1爆炸,拿500的水平考了300.所幸今年高一。
    好吧,那祝他们明年考出好成绩。
    cz520,tyc神犇570...
    yhy D2T3数组开小遗憾490.

    总结与反思

    1. 本次考试最大的败笔在D2T2.
      数据范围四个档,自己太想要70分结果最后水平不足只拿了25分。其实想拿40分并不难,因为有个特殊条件,而我把过多精力放在了70分上没有注意到40分特殊条件。
      反思:D2T2这种题,不能一上来把目标订得太高后来又逐渐缩水,应该先从第一档开始五分五分地拿,稳扎稳打。(40分我应该还是能想出来的)//D2T2正解 状压DP
    2. 想好了再写。D2T2写了一个错误算法耽误了40min.如果不写错误算法,就算少了5分拿了20,D2T3总有50min写暴力,30分总能拿到,那样的话就380了。
    3. 时间分配太不均匀。死磕D2T2耗时太多。
    4. 考场策略只是一部分,最重要的还是水平。拓扑图上的DP我只在打一次模拟赛的时候见过一道还爆零了,至今不会做。DP要多搞搞,特别是DP和图论结合。还有就是状压DP,只做过一道愤怒的小鸟根本不够。果然考场上没想出来。
    5. 暴力能力不够,暴力不是想打好就能打好的...D2T3白扔30分...
    6. 考前专门练练怎么防止卡精度。不然考场上写double真的很不放心...
    7. 后面的计划:NOIP2017完全应该100+100+30+100+40+30=400.省选的话,我感觉进队概率为1e-9.况且我还面临地理生物中考。
      但我也会参加一些省选培训,目的是提高水平,SDOI2019争取进队。省选算法太多,慢慢学吧。。一边学着知识,一边还要练思维,多打cf,争取暑假上蓝,初三寒假上紫。要接触省选难度的比赛了.. 后面的OI之路荆棘丛生,对我这个初中蒟蒻来说充满了挑战,那只好继续拼搏。
      吐槽:数据结构题好可怕...
      NOIP2018 目标: 3100+270+1*30=470
  • 相关阅读:
    根据判断PC浏览器类型和手机屏幕像素自动调用不同CSS的代码
    c#抓取网页内容乱码的解决方案
    C#中使用正则表达式提取超链接地址的集中方法
    sql server日期时间转字符串
    DataGridView直接导出EXCEL
    sql数据库删除表的外键约束(INSERT 语句与 FOREIGN KEY 约束"XXX"冲突。该冲突发生于数据库"XXX",表"XXX", column 'XXX)
    C#抓取页面时候,获取页面跳转后的地址
    HttpWebRequest 抓取页面异常处理办法
    JQuery的Ajax跨域请求的解决方案
    mysql 事物ACID和隔离级别
  • 原文地址:https://www.cnblogs.com/suncongbo/p/10182488.html
Copyright © 2011-2022 走看看