NOI竞赛的各种技巧

信息学竞赛的各种技巧

请注意,像文章中所说的方法,一定要在你已经不会做的情况下使用

骗分:

这是唯一一个 作为小白可以教大家的东西,不知道对各位有没有帮助:

一是看题目后的数据分布范围,在那里你就可以捞个几个测试点,得个5分10分这样的。比如说下面这题:
NOIP2016 第二题海港

题目作者在这里就不细说了,大家自己搜索吧,谢谢!这里作者只说数据分布范围:
在这里插入图片描述
大家看看题目,仔细看看10%的测试点,当时做这一题作者直接放弃 看了看数据分布情况:当n等于1时,其实就是让你统计有多少种不同的国籍(数)嘛,输出一下,老轻松了,毕竟10分总比0分好嘛:- )当然,如果你会正解的话,你就可以去悠哉的写正解了。

还有一种就适用于一些数据范围非常大,类似(1<=n<=105~7)的题目,在这个时候,题目绝对是要让你用O(n)或者O(n log(n))这样子的复杂度的,这时,你如果不会做时你就可以得个部分分,毕竟肯定会有一部分数据没有那么大,可以直接去用O(n2)做1<=n<=105部分的数据,成绩通常会提高10分~30分这样子,最好还可以用上一点点的优化,将复杂度争取变成O(n log n),多捞几个测试点。遇到你不会的题目,时间又比较紧的时候,你也可以不使用正解。比如说:寻路算法和动态规划改用贪心算法,说不定还可以处理几个测试点呢。

题目分配情况

当你一看到题目时,千万要先看看第1题和第4题的难度,看看哪一题更简单,有些不怀好意的考官会将难度从高到低排列,像2016年,还有蛮多的年份,一些人就会沉迷第1题无法自拔或者信心直接被打击为0,结果可想而知,所以,看看题目难度非常重要,至少能让你在最短的时间内做最多的题,拥有更多的时间去死磕较难的题目,信心也不会接受来自题目的暴击。

提速

这个的意思是让你编代码时提一下速,这时,几个常用的函数说不定对你有点用:
#include stdlib.h:
atoi(你要转数的字符数组)将字符数组转数
#include algorithm:
sort(int型待排序数组,数组名+n)//下标为0
#include iostream :
max(a,b)//a,b中取较大数
min(a,b)//a,b中取较小数
abs(a)//将int a取绝对值
swap(a,b)//将 int a,b中的数交换
fill(待清数组,待清数组+长度,清成的数)

还有挺多的,作者也不知道了,欢迎在评论区下提供

发布了20 篇原创文章 · 获赞 1 · 访问量 465

猜你喜欢

转载自blog.csdn.net/jerry20183/article/details/104199015
今日推荐