一直没有敢发的NOIP2018游记
一直没有敢发的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游记的更多相关文章
- Bittersweet——NOIP2018 游记
p { font-size: 16px; line-height: 1.5em; } blockquote { font-family: 'Times New Roman', 楷体; text-ali ...
- NOIP2018游记(退役记。)
Noip2018游记 这可能是写的最后一篇博客? \(Day0\) 早上六点从学校出发? 早上有雾,在车上扯淡,睡觉. 莫名其妙到了中午,想着午饭怎么解决,后来才知道早上发的四个面包竟然就包括我的午饭 ...
- 前行记录 - NOIP2018游记
NOIP2018游记 - 前行记录 NOIP2018 完跪……滚回学校考半期 QwQ 这篇不是题解 awa ,题解之后会发布的,毕竟我还没有AC呢 又及……G2020 陌路笙歌 - 再见(╯▽╰) 感 ...
- NOIP2018游记 & 退役记
NOIP2018游记 & 退役记 我是一名来自湖北武汉华中师大一附中的高二\(OIer\),学习\(OI\)一年,今年去参加\(NOIP\),然后退役.这是一篇\(NOIP2018\)的游记, ...
- NOIP2018 游记 QAQ
写在前面: 本人初三党.NOIP前两个月不好好停课搞信竞愣是要搞文化课.于是,期中考与NOIP一起凉凉[微笑] 本人写的第一篇NOIP游记,各位大佬们随便看一看就好 Day -n 初赛71,竟然跟wx ...
- 【比赛游记】NOIP2018游记
往期回顾:[比赛游记]NOIP2017游记 转眼间又过去了一年,当年还是初中生的我已经摇身一变成为了AHSOFNU的高一学生. 回顾这一年我好像也没学什么新东西,要说有用的可能就无旋Treap吧,不知 ...
- 初征——NOIP2018游记
前言 从最初接触oi到今年noip到来,也已经将近有一年了.从对于程序一窍不懂到现在开始学习算法,只是短短的不到一年的时间罢了.这次noip,不仅仅是我oi生涯的第一次noip,更是相当于是对我这一年 ...
- NOIP2018游记-退役之战
\(Day\ 0\) 从火车站下来坐地铁\(1\)小时,再乘公交车到酒店,还要帮队里一个断腿大佬搬东西,累死我了.. 到酒店就快\(5\)点了,想打个牌也没时间. 酒店的房间很不错,空间大又干净,后来 ...
- NOIp2018 游记
作为一名蒟蒻,对于NOIp当然是不抱什么希望.所以就只能在比赛中吸取经验咯... Day0 害怕书到用时方恨少,疯狂打板子(玩电脑) Day1 来到考场了,发现键盘空格按不起,觉得非常尴尬,然后他告诉 ...
随机推荐
- 更改字段、添加字段脚本以及sql回滚
--修改字段名称 EXEC sp_rename '[dbo].[SysMenu].[Type]', 'Position', 'COLUMN' --添加字段 alter table [dbo].[Age ...
- 【转】原生js仿jquery一些常用方法
现在利用扩展原型的方法实现一些jquery函数: 1.显示/隐藏 ? 1 2 3 4 5 6 7 8 9 10 //hide() Object.prototype.hide = function(){ ...
- ios 调试过程捕获异常Stack 信息
在AppDelegate,定义方法 void catchExceptionHandler(NSException *exception) { NSLog(@"CRASH: %@", ...
- rac_安装软件时报版本号过高问题
原创作品,出自 "深蓝的blog" 博客.欢迎转载,转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...
- asp.net mvc 4多级area实现技巧
今天在工作要实现这个多级area.其原因是这个项目需要多级的功能,大的类别里有小的类别,小的类别里有具体的功能项,每一个功能项还有若干动作Action,所以在菜单和mvc工程的结构上都需要有体现多级的 ...
- stm32 IDR寄存器软件仿真的BUG
/* * 函数名:Key_GPIO_Config * 描述 :配置按键用到的I/O口 * 输入 :无 * 输出 :无 */ void Key_GPIO_Config(void) { GPIO_Init ...
- Atitit。Tree文件解析器的原理流程与设计实现 java c# php js
Atitit.Tree文件解析器的原理流程与设计实现 java c# php js 1. 解析原理与流程1 1.1. 判断目录 ,表示服 dirFlagChar = "└├─&quo ...
- Skyscrapers Aren’t Scalable
 Skyscrapers Aren't Scalable Michael Nygard WE oFTEn HEAR SoFTWARE EnginEERing CoMpAREd to building ...
- 【Nginx-反向代理server】基础知识(二)之多进程模式
Nginx的多进程模式 nginx在启动后.会有一个master进程和多个worker进程.master进程主要用来管理worker进程,包括:接收来自外界的信号.向各worker进程发送信号,监控w ...
- css之常用属性
背景属性: background-attachment 设置背景图像是否固定或者随着页面的其余部分滚动 值: scroll 默认值.背景图像会随着页面其余部分的滚动而移动. fixed 当页面的其余部 ...