【比赛】NOIP2018 总结
一、考试过程
Day1:
先看了一遍题目,得到的结论是没有题是直接秒掉的,然后一道一道认真看。
看T1的时候开始并没想起来有一道原题,只是脑海中有一个印象,好像求差分和可以。然后自测了一下小样例,发现可以过,写了3行程序,又过了大样例。之后才想起来这是一道原题。
顺序看题,接下来是T2。看懂题目后,大概有了几个结论,粗略证明了一下之后,就发现是个裸的背包。写了大概十行的代码,发现可以过所有样例,然后写了个复杂度高一点的背包拿来拍。
搞完前两题只用了大概40分钟,接下来是T3。一开始认为写不了正解,就把各个部分分都写完了。之后,突然发现菊花的部分分对正解启发很大啊。首先,最小最大之类的问题肯定二分,check的时候对每个点都贪心,贪心的方法和菊花的一样就好了,用个multiset维护。但是写贪心都是很虚的,边写边想。写完之后发现大样例过不了,连忙调菊花的部分分来看哪里有错,发现multiset的部分细节没处理好,调了一下,终于过了大样例。
出考场的时候越来越虚,在洛谷交完后发现前两题稳了,但第三题multiset可能被卡常。
Day2:
看完题后一样没有能一眼秒的题。
看T1,想了一下后发现不难,然后写了一百多行。又写了暴力拍上了,但是忘记测极限数据了,导致没有剪枝。
T2没思路。写暴力找规律,发现只要把 \(n\) 和 \(m\) 相等的情况求出来,然后后面的答案就是乘 \(3\) (后面发现是错的,不过 \(n \leq 3\) 的时候可以对)。最后写了65分走人了。
T3没思路。但 \(n^2\) 的就是个裸的树形DP,先写了。然后发现链的几个前缀和就似乎可以做。最后写了60分,但是挂成了56分。
最后分数:\(100+100+100+88+65+56=509\)
二、得失总结
总的来说,这次NOIP至少在能做的题都做了的情况下,做到了几乎没有挂分。
但是与他人一比较,差距还是存在的。具体来说,仍然存在以下几个问题:
- 总是忘记测极限数据,或者说不知道程序的极限是怎样的。例如D1T3,D2T1这两道题,写出来的算法复杂度是对的,正确性也可以保证,但是会由于各种各样的原因(常数、STL等),导致不能通过所有的点。而这些问题只要测了极限数据就可以知道问题,但是总是忘记,这一点急需注意。
- 墨守成规,无故缩小联赛考察范围。今年考了新的DDP,这在以前都没有。所有考试之前,自以为是地认为不会考这个东西,于是遇到这类型的题目都直接过掉了。其实如果学了这个东西的话,D2T3就是个裸题了。
所以,接下来的这段时间,必须及时把不会的内容全部学完并熟练掌握,然后通过一场场的考试纠正自己不好的考试习惯,最重要的是,不能够低估任何一场考试。
【比赛】NOIP2018 总结的更多相关文章
- 入坑 OI 249561092 周年之际的一些感想
2018.2.10~2021.2.10 又是一年的 2 月 10 日,今天的到来意味着我 OI 生涯的第三年已经结束,即将开启 OI 生涯的第四年了.回顾这三年以来自己由懵懂.无知慢慢变成熟的历程,感 ...
- 【比赛游记】NOIP2018游记
往期回顾:[比赛游记]NOIP2017游记 转眼间又过去了一年,当年还是初中生的我已经摇身一变成为了AHSOFNU的高一学生. 回顾这一年我好像也没学什么新东西,要说有用的可能就无旋Treap吧,不知 ...
- 【CYH-02】noip2018数论模拟赛:比赛通知栏
鉴于公开赛有时可能无法更改比赛描述呢... 所以我们准备在这里(和团队宣言里)发布一些比赛公告. 请及时关注
- 【比赛】NOIP2018 保卫王国
DDP模板题 #include<bits/stdc++.h> #define ui unsigned int #define ll long long #define db double ...
- 【比赛】NOIP2018 填数游戏
打表找规律.... #include<bits/stdc++.h> #define ui unsigned int #define ll long long #define db doub ...
- 【比赛】NOIP2018 旅行
发现 \(m\) 只有两种取值,于是可做了 树的直接贪心 图的枚举环上的边去掉,然后做树的贪心,搜的时候剪一下枝吧 写得有点乱 #include<bits/stdc++.h> #defin ...
- 【比赛】NOIP2018 赛道修建
最小值最大,二分长度 然后判断赛道大于等于这个长度最多可以有多少条 可以贪心,对于一个点和它的一些儿子,儿子与儿子之间尽量多配(排序后一大一小),剩下的选个最长的留给自己的父亲就好了 具体实现可以用一 ...
- 【比赛】NOIP2018 货币系统
可以发现最后的集合一定是给定集合的子集 所以就变成了裸的背包嘛,对于每个数判断它能不能被其它数表示出来,如果可以,就表示这个数是没用的,可以去掉 #include<bits/stdc++.h&g ...
- 【比赛】NOIP2018 铺设道路
原题,而且还是CCF自己的 考虑对于一段最长不上升序列,无论如何都至少有序列第一个数的贡献,可以知道,这个贡献是可以做到且最少的 然后对于序列最后一位,也就是最小的那一个数,可以和后面序列拼起来的就拼 ...
随机推荐
- BZOJ4911: [Sdoi2017]切树游戏
BZOJ 4911 切树游戏 重构了三次.jpg 每次都把这个问题想简单了.jpg 果然我还是太菜了.jpg 这种题的题解可以一眼秒掉了,FWT+动态DP简直是裸的一批... 那么接下来,考虑如何维护 ...
- 【SQL】MaxComputer中调试与问题排查技巧小结
1.分段调试 面对长的SQL,出错时一般直接看定位的行号,有时候不出错但是没数据时,应该尝试分段调试,很长的SQL嵌套很多的子查询时,一个一个子查询进行分别调试,看哪一步子查询出了问题,层层推进 2. ...
- [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子
[Spark][Hive][Python][SQL]Spark 读取Hive表的小例子$ cat customers.txt 1 Ali us 2 Bsb ca 3 Carls mx $ hive h ...
- KMeans算法分析以及实现
KMeans KMeans是一种无监督学习聚类方法, 目的是发现数据中数据对象之间的关系,将数据进行分组,组内的相似性越大,组间的差别越大,则聚类效果越好. 无监督学习,也就是没有对应的标签,只有数据 ...
- 干货分享:vue2.0做移动端开发用到的相关插件和经验总结(2)
最近一直在做移动端微信公众号项目的开发,也是我首次用vue来开发移动端项目,前期积累的移动端开发经验较少.经过这个项目的锻炼,加深了对vue相关知识点的理解和运用,同时,在项目中所涉及到的微信api( ...
- 手工编程:hello world
全部用命令行工具和Notepad编辑器,用手工创建并编译一个C的命令行程序:hello world. public class Hello{ public static void ma ...
- Java web错误总结~
1.java程序中没有错,但是项目上面显示一个红叉的解决办法 错误信息: 报Description Resource Path Location Type Java compiler level d ...
- 使用msysgit上传项目到github
综合这几个教程,终于提价了项目,总结一下流程. (教程1[github入门教程]:http://jingpin.jikexueyuan.com/article/1037.html) (教程2[常见错误 ...
- 开源的CAS实现SSO
https://www.ibm.com/developerworks/cn/opensource/os-cn-cas/index.html ISC是基于CAS定制的,使用的高级的代理模式. https ...
- 数据驱动测试之——CSV+TestNG
对于利用Webdriver做自动化的童鞋,对于如何将元素或者输入数据如何和编码分离都应该不会太陌生,本着一边学习一边分享的心态,大概总结了一下关于利用CSV.XML以及Excel来存放数据,然后在结合 ...