(这篇文章是去年写的)

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. check: 获得所有呗选中的checked标签的元素值 mapArrayElement(arrEles)

    首先引用: <script src="../js/myjs/mapArrayElement.js"></script> 然后在<javascript& ...

  2. FlatBuffers使用简介

    @[tools|flatbuffers|opensource] 概述### Google在今年6月份发布了跨平台序列化工具FlatBuffers,提供了C++/Java/Go/C#接口支持,这是一个注 ...

  3. the virtual machine is configured for 64-bit guest operating systems

    Security--Virtualization--Inter(R) Virtualization Technolog 设置为enable 本机安装的是WIN 7 ,详细版本是:Windows 7 U ...

  4. DCloud-MUI:杂项

    ylbtech-DCloud-MUI:杂项 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   7.返回顶部   8.返回顶部   9.返回 ...

  5. Oracle 12c 搭建学习

    Oracle 12c 搭建学习 Vm workstaton10 安装linux 6.4 安装oracle12c Oracle 12c只支持64位系统 1 环境检查 [root@rac1 ~]# gre ...

  6. mongodb collection method

    https://docs.mongodb.com/manual/reference/method/db.collection.bulkWrite/ db.coll_test.getIndexes()# ...

  7. Cassandra 学习三 安装

    1: 下载Cassandra 2  解压 3   设置环境变量  4 修改cassandra里的conf目录下配置文件            配置文件地址是   D:\cassandra\apache ...

  8. MySQL 学习五 SQL实用函数

    0 select now() 显示当前时间. 1 select char_length('andyqan')   显示字符长度. 2 日期格式化         select date_format( ...

  9. 【OpenCV】基于图像处理和模式识别的火灾检测方法

    学期末一直忙考试,大作业,很久没来CSDN耕耘了... 虽然考试都结束了,手头还是累积了不少活儿要补,不多写了,晒个小项目,之前一直做的,后来当做模式识别课程的大作业交了. 大体框架如下: 还是之前的 ...

  10. Java学习之系统高可用性渲染接口日志自动服务降级

    背景:公司都追求系统的高可用性,这里不可用时间就是其中很重要的一个指标,为此在做系统功能升级迭代的过程中如何快速处理异常恢复正常功能极为重要.现在对新增模块的要求是都增加开关,方便快速关闭异常模块,但 ...