(这篇文章是去年写的)

day0

今天上了两节课后就出发了,大概是一点左右到达了宾馆,感觉宾馆条件是相当好的,然后两点出发,两点二十左右到达了考场,看到一群julao已经守候在了大门口,比如GZYjulao,ZJFjulao,YYRjulao,YGjulao,HYjulao等等等等...

然后二十七中开始了往年一贯的传统:合影,然后三个班的人就拍好队形,开始合影了,每次合影都感觉把cls和sls拍得十分挫。

分发完考证后,我先到合肥四十六中的考点去试普及组的机,打了几个比较基础的模板,一小时就这样过去了。

然后一路小跑着到了合肥一中提高组的考点去试机,试完比较基础的东西后,花了十五分钟打了个树剖,然后测了一下,没有任何毛病,于是就提前退场了。

和同学们吃完饭后,我回到宾馆听XJD讲了一下考场策略,就开始写这篇博客的day0了。

感觉自己准备的还算比较充分,我要将这几个月来的所有努力全部投入到这次考试中。

day1

早上起床后骑车去了考场,昨晚连续做了几个梦,都是梦见我如何被提高组的D1T1吊打,正当我忐忑不安地解压完试题后,发现一件重要的事:

D1T1竟然是原题!

于是2min码完T1后,开始浏览T2。

能做出D1T1对于我这种参加提高组的初中生来说已经很高兴了,带着这种心态,我开始在纸上算,然后根据样例和这个问题的性质发现:

只要删去能被其他数线性组合(系数是非负数)成的就好了。

那么exgcd无法解决这个问题,于是考虑用背包解决,写完背包,神奇地发现三组样例全过。

然后看了一下数据范围和时间,这题也正是用背包没有错,时间与空间都十分合理。

上了一个厕所后还剩下2.5h,于是开始看T3。

T3目测是数据结构或DP,正解不会,于是开始全力攻破所有的subtask:

对于a[i]=1,使用贪心。

对于b[i]=a[i]+1],使用二分。

对于m=1,使用树形DP(树上最长链)。

其余使用搜索。

对于我来说,day1早上也只能以这种方式结束了,虽然没能AK,但感觉还是打出了我们初中生的水平,赛出了精神。

因为早上打得比较顺,所以中午回去没有睡觉,看了集网王后直接去肝下午的普及组了。

打开普及组的题面后,就感觉今年的普及组题目不太妙,第三题看出了必须要用贪心或DP,第四题可能要用到树形DP或是字符串算法。

打完了T1T2后,我开始看T3,感觉很不妙,并不是往年那种普及组难度的DP,状态方程与边界处理比较麻烦,那也不能不要分吧,于是我先写了一个贪心,但是贪心却没有过第三组数据,看来虽然DP是我的弱项,但是该面对的还是要面对,我不得不用DP去写这道题,而不是用贪心去逃避。

设计好状态后,我开始推方程,感觉方程也比较好推,但是边界处理十分麻烦,我在上面调了一个半小时,也没有调出正确结果,此时离比赛结束还有1h。

迅速看T4,发现有不少subtask是可做的,于是花了20min写了一些subtask,转回头继续攻T3。

终于T3的前两组样例被我长时间的调试攻破了,但是第三组却又相差很多,只有最后5min了,也没有办法继续了,于是只有无奈检查文件,匆匆交题。

出来以后感觉有点沮丧,因为早上的亢奋导致今天下午做普及组的题心有余而力不足,如果明天不好好对待,可能这次普及一等和提高一等一个都拿不到,让我乘兴而来,败兴而归。

但是难是相对的,我觉得难的同时别的同学也不一定觉得简单,于是我分析了一下今天提高组的试题,思考明天day2的一些题目与算法:

今天T1为贪心,T2是DP,T3是数据结构,那么根据往年的惯例,明天会出现DP和图论,剩下的一题,可能是模拟,组合数学,搜索等等等等,于是我复习了这些算法的模板,准备好好打明天的day2,而不是因为day1的提高而松懈或是因为普及组的事而消沉。

day2

早上是七点起床的,吃好早饭后,我对今天的试题做了以下的分析:

1.今天会有一道图论和一道DP,也有可能是图上DP。

2.昨天普及组的题十分困难,今天的题目也不会像昨天那么水。

3.要抓好每一个subtask,这些小分是决定我是否省一的关键。

于是到达了考场,解压完试题发现果然T1是一个图,但仔细看了一下,其实是一棵基环树。

于是我花了1h想解决今天的T1,但是这题感觉很难,没有任何思路,无奈之下,浏览了一下T2和T3。

T2的话,感觉写暴力都很考验码量,T3一眼看出是一道树形DP。

仔细看了一下T2,暴力真的很烦,而且考场上拿分的应该也寥寥无几,于是使用了打表算法,拿个10-20分应该还是可以的。

T3改了一下数据范围,虽然刚开始也没什么用,但是在写完50分的做法以后,突然想到了一些问题是无需改变的,于是对那些无需改变的问题根本不需要DP,这样的做法能拿到50-100分。

回头看T1,还是只会写树上的,变成基环树就十分难写,只好写了60分的减弱树上版本,此时离考试结束只有3min,检查了一下文件,就这样提交了。

我的NOIp2018也到此结束。

总结:

1.这次提高组的D1放了几道较水的题,导致有些同学第一天打完后很松懈,没有来得及调整面对D2的难题,难题一定会有,所以不能松懈。

2.普及组的34两题难度有增加了,我要在学习提高组的同时夯实好普及组。

3.本次NOIp的subtask较多,设计到许多小分,但是这些小分也不能不要,也许5分都是决定你省一的关键,一定要针对不同的subtask灵活使用不同算法。

4.这次NOIp给我带来了对比赛策略一些很好的实践与感悟,我将在安徽省选中使用它们,不再犯同样的错误。

(去年的自己写的真不错)

NOIp2018提高&普及游记的更多相关文章

  1. NOIp2018提高组游记

    Day1 T1 积木大赛 NOIp2013D2T1.....看到的时候我还以为我记错了,以为原题是一次可以随便加,这题只能加一,出考场后查了下发现一模一样. #include <iostream ...

  2. NOIP2018提高/普及成绩

    明天就要出了,不忍看到自己爆零,现在很慌. 大家都考的如何呢?欢迎留言自己的分数或预估分数.

  3. [题解]NOIP2018(普及组)T1标题统计(title)

    NOIP2018(普及组)T1标题统计(title) 题解 [代码(AC)] #include <iostream> #include <cstdio> #include &l ...

  4. [NOIp2018提高组]旅行

    [NOIp2018提高组]旅行: 题目大意: 一个\(n(n\le5000)\)个点,\(m(m\le n)\)条边的连通图.可以从任意一个点出发,前往任意一个相邻的未访问的结点,或沿着第一次来这个点 ...

  5. [NOIp2018提高组]赛道修建

    [NOIp2018提高组]赛道修建 题目大意: 给你一棵\(n(n\le5\times10^4)\)个结点的树,从中找出\(m\)个没有公共边的路径,使得第\(m\)长的路径最长.问第\(m\)长的路 ...

  6. [NOIp2018提高组]货币系统

    [NOIp2018提高组]货币系统 题目大意: 有\(n(n\le100)\)种不同的货币,每种货币的面额为\([1,25000]\)之间的一个整数.若两种货币系统能够组合出来的数是相同的的,那我们就 ...

  7. [NOIp2013提高组]积木大赛/[NOIp2018提高组]铺设道路

    [NOIp2013提高组]积木大赛/[NOIp2018提高组]铺设道路 题目大意: 对于长度为\(n(n\le10^5)\)的非负数列\(A\),每次可以选取一个区间\(-1\).问将数列清零至少需要 ...

  8. NOIP2018提高组省一冲奖班模测训练(六)

    NOIP2018提高组省一冲奖班模测训练(六) https://www.51nod.com/Contest/ContestDescription.html#!#contestId=80 20分钟AC掉 ...

  9. NOIP2018提高组省一冲奖班模测训练(五)

    NOIP2018提高组省一冲奖班模测训练(五) http://www.51nod.com/Contest/ContestDescription.html#!#contestId=79 今天有点浪…… ...

随机推荐

  1. BZOJ1202:[HNOI2005]狡猾的商人

    浅谈并查集:https://www.cnblogs.com/AKMer/p/10360090.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php? ...

  2. java代码I/O流类

    package com.aini; //流类rr //流操作的步骤: /*1.找到指定File 2.实例化字节流.InputStream/OutputStream/Reader/Writer 3.读/ ...

  3. JVM插码之四:Java动态代理机制的对比(JDK 和CGLIB,Javassist,ASM)

    一.class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中.这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码.JVM虚拟机读取字节码文件, ...

  4. 框架Mockito

    一.什么是mock测试,什么是mock对象? 先来看看下面这个示例: 从上图可以看出如果我们要对A进行测试,那么就要先把整个依赖树构建出来,也就是BCDE的实例. 一种替代方案就是使用mocks 从图 ...

  5. ruby 异常处理

    begin raise 'A test exception.' rescue Exception => e puts e.message puts e.backtrace.inspect end

  6. BIOS简单设置 解析“集成显卡”内存占用问题

    很多使用集成显卡的用户会发现,在系统信息窗口中,内存容量和实际不一样.比如系统内存显示4GB,可用3.48G之类.这不可用的一部分内存到哪去了? 其实减少的这部分内存是被集成显卡占用当做显存使用了.而 ...

  7. 实验吧CTF题库-密码学(部分)

    这里没有key: 打开链接,有一个弹窗 然后就是一个空白网页,右键查看源代码 这里有一串js密文,解密一下,https://www.dheart.net/decode/index.php 得到flag ...

  8. 简单叙述一下MYSQL的优化

    一个面试题.每次没能完全答对.各位补充一下.或者发表自己的答案:cry: 现在大概列出如下:(忘各位补充)1.数据库的设计尽量把数据库设计的更小的占磁盘空间.1).尽可能使用更小的整数类型.(medi ...

  9. DAY9-python并发之多进程理论

    一.背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所 ...

  10. dubbo错误排查之No provider available for the service

    今天搞的一个dubbo服务,暴漏出来了,但是consumer端启动就报这个错,排查过程记录一下 一.启动zkCli 利用命令查看 ls / ls /dubbo 继续查看 ls /dubbo/com.w ...