考前:

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

   考场策略:

  考试的基本策略是对每于道题先想个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. C#基础学习笔记(个人整理)

    学习笔记 第一章:c#基础 一.程序设计语言的发展及历史 1.程序设计语言? 通俗也叫编程语言,实现人与机器交互的工具 2.历史 1)机器语言 : 0,1 2)汇编语言 : 包含一些机器语言,同时增加 ...

  2. ssm整合-错误

    [Err] 1005 - Can't create table 'imoocdb.ec_article' (errno: 150) 这个错误由外键约束引起的 java.lang.ClassCastEx ...

  3. HTML+CSS : 笔记整理(1)

    meta:页面描述信息(可以在里面加入作者信息等,如: <meta name="description"content="HTML examples"&g ...

  4. python学习之控制流1

    配置环境:python 3.6 python编辑器:pycharm 代码如下: #!/usr/bin/env python #-*- coding: utf-8 -*- # 控制流: # 1.布尔值: ...

  5. 数据分析处理库Pandas——数据透视表

    数据 按指定的行列值显示 求和 按行求和 按列求和 数据 求平均 备注:按性别计算每个等级船票的平均价格. 备注:每个等级船舱中每种性别获救的平均值,也就是获救的比例. 备注:每种性别未成年人获救的平 ...

  6. C语言数组篇(五)多级指针和二维数组指针的区别

    多级指针   以二级指针为例 二级指针的由来是 指针数组 的指针形式. int *p[10] 读取的顺序是 p[] --> 10个空间的数组 * p[] --> 这10个空间的数组里面存放 ...

  7. BZOJ 1441: Min(裴蜀定理)

    BZOJ 1441:Min Description 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小 Input 第一行给出数 ...

  8. Kubernetes-简介(一)

    简介 Kubernetes是一个开源.用于管理云平台中多个主机上的容器化的应用,目标是让部署容器化的应用简单并且高效,Kuernetes提供了应用部署.规划.更新.维护的一种机制. 在Kubernet ...

  9. POJ:3276-Face The Right Way(线性反转)

    Face The Right Way Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6259 Accepted: 2898 De ...

  10. TouTiao开源项目 分析笔记18 视频详情页面

    1.效果预览 1.1.需要做到的真实效果 1.2.触发的点击事件 在MediaArticleVideoViewBinder的每一个item点击事件中: VideoContentActivity.lau ...