考前:

  考试前把读入优化和库以及对拍文件打好做好准备工作,另外注意放松心态,太紧张了肯定考不好··将自己的注意力集中起来

   考场策略:

  考试的基本策略是对每于道题先想个20分钟,如果想不出个靠谱的方法就把赶紧暴力打了一定要打暴力,想不出正解要打暴力,想出了正解对拍也要打暴力,而且把暴力打了之后心里都踏实得多··起码保底了,打完后再想正解.

    题目思考:

  先要确定大体方向:模拟(往往只有第一题),策略(贪心等),数学,数据结构,图论,dp,字符串,树,二分,三分,搜索,(多半会加上剪枝折半记搜或者迭代加深)

  合理利用并查集,哈希,倍增,差分,链表,优先队列,dfs序,桶,单调队列,单调栈等辅助算法

  充分利用题目给的数据范围考虑可能用到的算法,毕竟n^2,nlogn,nlogn^2,n还是比较好判断的

  不要一看到数据结构就往线段树上面想,可能会没有那么'麻烦'

  dp的时候多想想平时自己用到的套路,如最大子串和,最长不下降序列,最长公共子序列,各种背包问题,树形dp考虑求树的直径,重儿子,最大次大值等,区间dp的枚举断点,另外复杂度如果不对要考虑dp优化(滚动数组或者决策单调性),有时也会用数据结构优化dp

  图论的话一般在比较简单的情况下只会考最短路和最小(大)生成树,和拓扑排序,tarjan求强连通分量边双连通割点,但图论题比较难的一点是通过条件间的逻辑关系转化成图论题,这时除了上述算法以外常常会用匈牙利差分约束等算法解决

  字符串本身算法很少,只有kmp,哈希,trie,ac自动机,manecher,因此有时它会和其他算法一起考,如dp;

  想题的时候思维要灵活点··如果往一个方向想一直没进展的话就要考虑放弃了

  有时候想不出正解时可能暴力就是正确的,自己在计算复杂度时可能考虑了许多多余的情况(所以要一定打暴力啊) 

  鉴于在NOIP考场上它算法可能不会考多难··但肯定会用思维难度来弥补,如果可以适当地用NOI的一些算法来降低思维难度的话可以考虑考虑

    常用套路:

  倒插点/边,乘法转对数,xor的高低位贪心,平均数转最长和大于0,加边权求特定集合最小生成树,拆点,枚举边计算贡献,

   代码编辑:

  打代码时一定要集中精神,不然很容易出错··如果打完代码后还是调试半天找出很多错误说明打代码时肯定没认真···

  打代码前要想想这道题是否有什么边界条件还没有考虑.分类讨论是否全面,有时因为一个边界条件可能就错完了,打代码时也要好好考虑,比如mod的时候如果是负数要加起来,用到除法的时候除数是否考虑了0,是否需要判断无解情况,有没有可能访问了非法的位置(爆数组或者访问了负的位置,用桶的时候尤其注意),有没有可能爆int,有没有可能double写成了整数型

    注意自己的算法是否爆空间,用cout<<sizeof()/1024/1024判断判断

  如果担心爆int就开long long,不要偷懒!!

  用mod的时候注意mod透没有

  INF用0x3f3f3f3f很优秀!

  尽量保证自己代码的简洁度,能不分类讨论就不要分类讨论(当然是在保证正确性的情况下),有时如果要判断某些边界情况很麻烦的话可以在边界加上不影响答案的元素,比如在splay的题中我们常常在里面放一个-inf和一个inf··平时就要多参考其他人写的比较优美简洁的代码··不然调试的时候可能会晕

  注意多组数据下的清0操作

  合理使用stl中的文件,如vector,queue(queue,deque,priority_queue),set,map(这玩意儿有点不靠谱··能手打hash表还是手打吧)

  如果变量很多的话变量名就打长一点,好辨别···实在不行打拼音··

  打代码时注意自己是否用到了非法的变量名,像y1,x1,next,index,hash啥的一定要注意··如果平时用这些变量名用习惯了的话可以在第一行打一个”改变量名“,这样的话编译的时候能提醒自己

   打完后可以加个register提高代码速度,(有可能会re,加完后运行程序看一看)

   不要读入剪枝!!!

  看看是否用到了O2优化,用了的话用自己编辑器开O2跑一跑程序

 考后检查:

  考完后重点再次检查上述的错误,数组开小没?是否需要开int?是否需要开double?是否需要改变量名?是否需要考虑边界?

  最后好好检查文件输出输入,错了就完了··

  

  

 

NOIP2017赛前考试注意事项总结的更多相关文章

  1. [NOIP2017赛前复习第二期]复赛考试技巧与模版-普及组

    考试技巧 1.拿到考卷首先通看题目,按自己感觉的难度排序(普及一般是1-2-3-4了~还是相信出题人不会坑我们的2333) 2.一般来说,普及组前两道题比较简单(大水题啊233~),但是通常坑很多,例 ...

  2. NOIP2017赛前模拟11月6日—7日总结

    收获颇丰的两天··· 题目1:序列操作 给定n个非负整数,进行m次操作,每次操作给出c,要求找出c个正整数数并将它们减去1,问最多能进行多少操作?n,m<=1000000 首先暴力贪心肯定是每次 ...

  3. NOIP2017赛前模拟11月4日总结:

    第一次挂0·····有点感伤···主要是因为时间分配太不合理了··花2个半小时搞第一题最后还wa完了··第二题很简单花了30分钟打完但没打对拍结果wa完···第三题暴力可以拿20分的但没时间打了··· ...

  4. NOIP2017赛前模拟(5):总结

    题目: 1.刮刮卡 已知n(n<=1000000)张刮刮卡按顺序排列,刮开可以获得B元现金和B个积分,购买刮刮卡需要A元,某人若按照顺序刮开的话··当B的总和小于A时便会停止刮卡(即花出去的钱多 ...

  5. NOIP2017赛前模拟(4):总结

    题目: 1.打牌 给定n个整数(n<=1000000),按照扑克牌对子(x,x)或者顺子(x,x+1,x+2)打出牌···问最多可以打出多少次对子或者顺子?牌的大小<=1000000 2. ...

  6. NOIP2017赛前模拟(3):总结

    题目: 1.购买板凳(100) 大意:区间修改最后查询全局最大值; 2.新排序(40分暴力) 大意:给一串长度小于100000的数列···每次操作找出序列中严格小于其左边的数字或者严格大于其右边的数字 ...

  7. NOIP2017赛前模拟11月2日总结

    分数爆炸的一天··但也学了很多 题目1:活动安排 给定n个活动的开始时间与结束时间··只有一个场地··要求保留尽量多的活动且时间不冲突···场地数n<=100000 考点:贪心 直接将结束时间按 ...

  8. NOIP2017赛前模拟10月30日总结

    题目1: n个人参赛(n<=100000),每个人有一个权值··已知两个人权值绝对值之差小于等于K时,两个人都有可能赢,若大于则权值大的人赢···比赛为淘汰制,进行n-1轮·问最后可能赢的人有多 ...

  9. NOIP2017赛前模拟1:总结

    题目: 1.造盒子 题目描述 企鹅豆豆收到了面积为 K 的一块橡皮泥.但是他没有合适的盒子来装下这个橡皮泥.所以他打算造一个盒子. 制造台是有方形网格的平台,每个小正方形边长为 1 .现在豆豆有两类木 ...

随机推荐

  1. python json.dumps raise TypeError(repr(o) + " is not JSON serializable") TypeError: 0 is not JSON serializable

    出错如题. 这个问题有可能是因为python的json.dumps没法识别dump内容里的某些数据类型导致的.我的问题是因为dict中含有numpy.int64,numpy.float等类型导致的,需 ...

  2. stat.h头文件,轻松获取文件属性

    [以前还为了获取文件的长度,费劲从头读取一遍,一个一个字节的算. 做webserver时候,发现原来stat函数可以返回一个结构,里面包括文件的全部属性. 真是曲折啊.] #i nclude<s ...

  3. busybox编译 fatal error: curses.h: 没有那个文件或目录解决办法

    执行make menuconfig时出现如下错误@ubuntu:/home/dev/busybox-1.19.3# make menuconfig HOSTCC scripts/kconfig/lxd ...

  4. Educational Codeforces Round 43 E. Well played!(贪心)

    E. Well played! time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  5. 图像的模糊-opencv

    调用两个API,一个是均值模糊,一个是高斯模糊.如下所示: #include<opencv2/opencv.hpp> #include<iostream> using name ...

  6. [CodeForces948D]Perfect Security(01字典树)

    Description 题目链接 Solution 01字典树模板题,删除操作用个数组记录下就行了 Code #include <cstdio> #include <algorith ...

  7. python基础之模块part1

    模块: 模块本质上就是一个Python程序. 所有说是对象的,一定可以通过  对象.方法  来实现某些操作. 模块种类: 内置模块 第三方模块 自定义模块 import在查找模块的顺序:内置模块--- ...

  8. talent-aio源码阅读小记(二)

    我们上一篇提到了talent-aio的四类Task:DecodeRunnable.HandlerRunnable.SendRunnable.CloseRunnable,并且分析了这些task的基类Ab ...

  9. 12 KLT算法

    1 去除多余模块的 #-*- coding:utf-8 -*- ''' Lucas-Kanade tracker ==================== Lucas-Kanade sparse op ...

  10. 剑指Offer - 九度1366 - 栈的压入、弹出序列

    剑指Offer - 九度1366 - 栈的压入.弹出序列2014-02-05 20:41 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所 ...