一直没有敢发的NOIP2018游记

NOIP2018游记

教练说知足是最好的,尽吾志而也不能及者,可以无悔矣。在这次考试中的表现令我还是十分满意的。(笑)

D1

T0

我配置背得感觉很好,我考场上直接默写出来了,没有什么困难。不过那个键盘我要吐槽一下,放在抽屉里面,特别蹩脚。(你感觉,你又说你感觉)

T1

这道题是原题,五分钟就写完了。就是一个很傻的贪心。不过当时在机房做做到这道题的时候,第一反应是写了一颗线段树然后贪心,后来仔细想一下,就按照直觉给写了一个几行的贪心,交上去过了。运气正好,但也许就是这一题运气好吧。

T2

这道题是我本次NOIP最可惜的一道题,没有之一。考场上我看到这道题,猜了一个结论,也不是猜测,就是证明了一个结论,就是说新的货币系统的组成部分一定是给定货币系统的子集。于是我们sort一遍,然后直接用线性筛素数的办法,看那个数可以直接被比它小的数表达出来就好了,筛一轮就可以出来了。复杂度,而且\(n\le100 ,m\le25000​\)写了几分钟就把大样例过了。

但是,为什么说很可惜呢?

众所周知,我的代码里总是有这样的代码。

const int maxn=105;
const int maxnum=25005;

在线性筛答案的时候,需要一个

bool in[maxnum];

来记录这个数字是否被筛出来了。显然,如果不加控制,会越界RE,所以:

sort(data+1,data+n+1);
for(int t=1;t<=n;t++){
if(!in[data[t]])
ans++,in[data[t]]=1,sav.push_back(data[t]);
for(int i=0;i<sav.size();i++){
if(data[t]+sav[i]>maxn)//注意这里
continue;
if(data[t]+sav[i]>data[n])
continue;
if(!in[data[t]+sav[i]])
sav.push_back(data[t]+sav[i]);
in[data[t]+sav[i]]=1;
}
}

显然可以水过去。

但是!有没有细心的小伙伴发现,这一行代码有一点问题

if(data[t]+sav[i]>maxn)
continue;

回顾我们上面那一行:

const int maxn=105;
const int maxnum=25005;

原来!!!!

(其实只需要下面那个对于data[n]的判断就好了)

想不到连续一个多月的考试,都没有暴露我自己代码风格不够直观的问题。机房的小伙伴老说看不懂我代码,然而我不以为意。想不到在NOIP上翻车了......

分数太容易拿,也太容易丢了。或许这就是信息学吧。

九点左右,前两道题就写完了。

T3

写了两个特殊性质,可以说很傻。第一个特殊性质输出一个直径,第二个特殊性质写一个贪心。成功写出40分,其实我写了所有情况的一个假DP做法,不过没拿一分。

D1: \(100+100+40=240 ->100+30+40=170\),有点烦躁。

D2

T0

什么也没发生。不过心疼坐我右边那个小朋友,他坐我旁边,以为我昨天AK了,很是羡慕..他好像第一天没有150吧...

T1

浏览完三道题后,觉得第一题好水,感觉全场能切,先写第一题。第一档我发现就是一个树上贪心,每次把自己所有儿子中最小的那个走了就好了。第二档多一条边,好办。我直接断开一条边就是一个原来的问题了。\(O(n^2)\)

不过今天的T1没有那么顺利。testdata4老是过不了。调了我接近两个小时,终于过样例了。

原来是我比对答案的时候出错了,应该在发现有不同时,判断,然后马上break。我一直没发现。还是我字符串不够熟练啊。所以外面混,迟早要还的。\(O(n^2)\)水过去了。

但是!!!后面测民间数据的时候,我只有88分,最后三个点TLE。我找到原因了,我使用的是链式前向星,所以要sort才能做到不然复杂度就是错的。

加到数组里面先缓存一下,然后再加到链式前向星里就完事了。

不过要乐观,下考后,发现大家居然都没想到直接断一条边做,还说这是一颗奇环树。我根本就没想过这个东西(乱搞主义好啊),没想到其实自己也能骚出这样的办法,233

还剩一个半小时,进入T2 T3。

T2

这道题我以为是组合数学......正好之前yyb讲过的矩阵中不同路线数量是,我以为直接这样能做,但是发现并不行。看到数据范围,发现,觉得是一个状压DP,不过想了一下,转移很复杂。时间不够了,我决定跳过T2,去做T3。写了一个输出样例的程序,走了(还得了很多分)。

T3

这两天好像都没写DP吧?这个一看是个树上DP啊!设表示在节点,有/无驻扎时,最小花费。的时候很好转移,呢?我直接这样:\(dp[i][0]=min(dp[i][1]-min(dp[k][1],dp[k][0])+cost[i])​\)

小样例过了,大样例呢?不行。点开样例,发现不可调试,于是我自己手写了一个样例,发现:

dp有后效性!

好吧,好吧,怎么找到一个合适的顺序,使得我可以忽视掉后效性呢?我想啊想,下考了。

\(100+13+24=127->96+13+26​\)

结语

NOIP2018 : 二等,知足了,毕竟我才学几个月不到呢,但是很遗憾,高一一等奖肯定有很多新的机会,然而我都只能错过了...

至此,我的NOIP2018就结束了。有惊喜,也有遗憾。惊喜的是,那些我原来觉得不可做的题目,终于可以在我的努力下,扣出一点分。遗憾的是,两道完全会的题目,都没有满分。But life carries on !

​ I don't know, where this road leads , but I know where to start. ----Via Martin

​ 不知道这条道路会通向何方,但我知道从哪开始。

​ Winlere ,16,Dec , noon.

回顾

要参加(观)省选的我看到NOIP的我,感觉自己真是naive啊...

dp有后效性这个东西直接上动态dp就完事了,我当时还很崩溃,不知道怎么办,因为写了太久了QAQ,不过菜菜的我居然能过看出来,也震惊。

1=都没有的最大原因就是落实不行,其实也不是我不去落实,当时实在是太弱了!其实当时我多问问,缠着随便一个dalao问问分治的原理是什么,甚至找谢总求教分治原理是什么,NOIP也不会怎么差,对于很多算法的真正理解就是那天突然领悟分治的含义,假如这个觉悟放在NOIP之前,可能NOIP的结果也不会这么糟吧。

一直没有敢发的NOIP2018游记的更多相关文章

  1. Bittersweet——NOIP2018 游记

    p { font-size: 16px; line-height: 1.5em; } blockquote { font-family: 'Times New Roman', 楷体; text-ali ...

  2. NOIP2018游记(退役记。)

    Noip2018游记 这可能是写的最后一篇博客? \(Day0\) 早上六点从学校出发? 早上有雾,在车上扯淡,睡觉. 莫名其妙到了中午,想着午饭怎么解决,后来才知道早上发的四个面包竟然就包括我的午饭 ...

  3. 前行记录 - NOIP2018游记

    NOIP2018游记 - 前行记录 NOIP2018 完跪……滚回学校考半期 QwQ 这篇不是题解 awa ,题解之后会发布的,毕竟我还没有AC呢 又及……G2020 陌路笙歌 - 再见(╯▽╰) 感 ...

  4. NOIP2018游记 & 退役记

    NOIP2018游记 & 退役记 我是一名来自湖北武汉华中师大一附中的高二\(OIer\),学习\(OI\)一年,今年去参加\(NOIP\),然后退役.这是一篇\(NOIP2018\)的游记, ...

  5. NOIP2018 游记 QAQ

    写在前面: 本人初三党.NOIP前两个月不好好停课搞信竞愣是要搞文化课.于是,期中考与NOIP一起凉凉[微笑] 本人写的第一篇NOIP游记,各位大佬们随便看一看就好 Day -n 初赛71,竟然跟wx ...

  6. 【比赛游记】NOIP2018游记

    往期回顾:[比赛游记]NOIP2017游记 转眼间又过去了一年,当年还是初中生的我已经摇身一变成为了AHSOFNU的高一学生. 回顾这一年我好像也没学什么新东西,要说有用的可能就无旋Treap吧,不知 ...

  7. 初征——NOIP2018游记

    前言 从最初接触oi到今年noip到来,也已经将近有一年了.从对于程序一窍不懂到现在开始学习算法,只是短短的不到一年的时间罢了.这次noip,不仅仅是我oi生涯的第一次noip,更是相当于是对我这一年 ...

  8. NOIP2018游记-退役之战

    \(Day\ 0\) 从火车站下来坐地铁\(1\)小时,再乘公交车到酒店,还要帮队里一个断腿大佬搬东西,累死我了.. 到酒店就快\(5\)点了,想打个牌也没时间. 酒店的房间很不错,空间大又干净,后来 ...

  9. NOIp2018 游记

    作为一名蒟蒻,对于NOIp当然是不抱什么希望.所以就只能在比赛中吸取经验咯... Day0 害怕书到用时方恨少,疯狂打板子(玩电脑) Day1 来到考场了,发现键盘空格按不起,觉得非常尴尬,然后他告诉 ...

随机推荐

  1. 网站定时任务IIS配置

    网站中的定时任务一般是必不可少的,具体的实现方法此文不做详细说明,如有需要了解的请留言.本文主要讲述定时任务有关IIS中的设置. 如果一个网站在20分钟内(IIS默认为20分钟)没有客户端访问,服务器 ...

  2. mac系统中搭建apache+mysql+php的开发环境,安装mysql后,登录报错:mac ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    php新手在mac系统中搭建apache+mysql+php的开发环境(按照这篇博客来操作的:http://my.oschina.net/joanfen/blog/171109?fromerr=xvC ...

  3. iOS定位服务CoreLocation

    欢迎訪问我的新博客: 开发人员说 基于LBS的应用开发是当今移动开发中的一大热门, 当中主要涉及到地图和定位两个方面. iOS开发中, 定位服务依赖于CoreLocation框架, CLLocatio ...

  4. 固态继电器SSR

    s107.  LH1521.  CPC1035N http://e22a.com/h.bXsDYw?cv=AAOzhSfJ&sm=53e30b

  5. JanusGraph的schema及数据建模

    每个JanusGraph都有一个schema,该schema由edge labels, property keys和vertex labels组成.JanusGraph的schema可以显式或隐式创建 ...

  6. vue 过滤与全文索引

    过滤 与 全文索引 <template> <div> <input type="text" v-model="query"> ...

  7. Atitit.编程语言原理---方法重载的实现与设计 调用方法的原理

    Atitit.编程语言原理---方法重载的实现与设计 调用方法的原理 1. 重载包括:普通方法的重载和构造方法的重载 1 1.1. 横向重载”和“纵向重载”1 1.2. 方法签名通过  方法名称,参数 ...

  8. php画图应用之验证码

    在画图里面,就像之前所说的.php的画图是真正动态画图,尽管自己承认会出的图是非常不好看的.但我们主要关注的应该还是数据处理. 验证码我们差点儿无处不见,它的产生和画图技术是密不可分的.事实上,简单的 ...

  9. 1. Two Sum【easy】

    1. Two Sum[easy] Given an array of integers, return indices of the two numbers such that they add up ...

  10. MyEclipse 2013安装后要做的几件事

    一.Myeclipse 2013修改字体 MyEclipse 2013是基于Eclipse3.7内核,但在Eclipse的Preferences-〉general-〉 Appearance->C ...