noip考点整理(应该不是很完整……)
部分来自百度百科、其他的博客
一、必须会的
1.暴力:
DFS、BFS、灌水法搜索、回溯搜索、记忆化搜索、启发式搜索、最优性剪枝、可行性剪枝
2.贪心
3.模拟
4.骗分
二、基础算法
1、图论:SPFA、Floyd、Dijkstra、Tarjian、topo排序、Prim、Kruskal
欧拉(回)路、哈密顿回路
2、树:并查集、堆、线段树/树状数组、LCA
3、分治:二分查找、二分答案、求逆序对
4、数论:GCD、BSGS、扩展欧几里得求同余方程、Catalan数、快速幂、快速乘法、差分约束、筛素数
5、字符串:回文串的判定、KMP、hash
6、动态规划:背包、线性DP、区间DP、环形DP等等
7、二分图匹配:匈牙利算法
8、高精度
考试策略:
1.考试开始前,调界面,写模板,写头文件,测试dev是否可用
2.看题目时注意数据范围,时限,仔细,不要猜测出题目没有说明的affairs
3.关于数据范围..
20:O(2^n),搜索
100:O(n^3),Floyed/搜索
1000:O(n^2),动态规划/spfa/最小生成树
500000:O(nlogn),二分答案/快排/线段树/st表/树链剖分/遍历(DFS可能爆栈)
1000000:O(n)或O(1),数学问题/改变思维方向/贪心/kmp/dp
当然只是一般情况下...
4.long long一定注意在传递参数和快速幂中不要开漏了...
还有数论题目
“三年OI一场空,不开longlong见祖宗”
5.以及最近经常把头文件写错(忘记写iostream,忘记写stdio.h之类的...)
6.写代码前想好,能够证明最好证明,否则多出几组特殊数据测试
7.想好需要的每一个函数再开始写,并估算好时间空间复杂度
8.永远不要尝试不熟悉的算法orz...
9.一定要写对拍...
10.千万不要在最后15分钟改代码必错无疑百发百中
11.绝对不要对答案被虐无疑
12.写完一题检查一题,不要赶时间去做T3,保证前两题的正确性,T3除非是遇到了会写的算法,不要思考超过15分钟,直接写骗分
13.写完之后再留45min再检查,数据测试,阅读代码,查看细节
14.查看文件名,有没有把暴力程序交成正解
15.前两题想不出来调不出来不要慌张,根据时间和难度判断好是否继续写继续调,或者先写第三题,,决定之后不要犹豫,不要患得患失
16.避免day1认真day2水
17.检查时,对于学过的知识再过一遍,看看有没有漏掉简单的算法或者小的优化
18.输入换行符的处理
19.看清评测系统,按评测系统选择用lld还是%I64d
20.DFS函数记得写return
21.变量名如time屡错不爽...
22.把memset,memcpy写在for或者dfs里面忘记算复杂度....
23.cout,cin输出不是必须(bignum)不要用,有TLE的风险
比赛常见问题总结
问题:
1、对于noip模拟:前两题在会的情况下码速不够,直接断送第三题的高分机会。
2、偶尔会有没判0、爆栈等丢个5分10分的错误,偶尔会有
3、看到一道题好像会做,一激动就把时间全花在上面了。
4、临近结束,一慌起来,连暴力都不会打。
5、由于时间复杂度估计错误而导致正解不敢打。
6、由于多余的变量查看、数据画图过多等多余步骤引起的时间浪费。
措施:
1、适当提高一点码速,打代码时保持清醒的头脑,时刻明确自己正在干什么、自己要干什么。
2、选择最恰当的方法来码。那句话说得好:“每多一行代码,就多一次把 i 打成 j 的机会。”方法以正确、简洁为优,冗余代码一定去除。
3、多方法调试。眼调、输出调、拍、各种小数据测。时刻警醒拍真的不是万能的。
4、控制好情绪,看题不激动,结束不慌张。深呼吸,念“南无地藏王菩萨”。
5、要有梦想。打目前想到的最优的方法,无论能否过(如果是暴力要顺手加优化)。注意各个版本的程序的存档。
6、出了bug先整体感知,不要一上来就断点。
noip考点整理(应该不是很完整……)的更多相关文章
- NOIP考点
NOIP考点 基础算法 图 树 数论 数据结构 动态规划 搜索 其他算法 省选知识点汇总 图论 数据结构 字符串相关算法及数据结构 数学 计算几何 搜索 动态规划 其他算法 转自:巨佬的博客 加*号是 ...
- 在WebBrowser中执行javascript脚本的几种方法整理(execScript/InvokeScript/NavigateScript) 附完整源码
[实例简介] 涵盖了几种常用的 webBrowser执行javascript的方法,详见示例截图以及代码 [实例截图] [核心代码] execScript方式: 1 2 3 4 5 6 7 8 9 1 ...
- Noip数学整理
目录 Noip数学整理 序 1 取模相关 2 质数相关 3.基本操作 4.方程相关 5.数列相关 6.函数相关 Noip数学整理 序 因为某些原因, Noip对于数学方面的考纲仅停留在比较小的一部分, ...
- JSON详解+ C# String.Format格式说明+ C# ListView用法详解 很完整
JSON详解 C# String.Format格式说明 C# ListView用法详解 很完整
- 李建20181029课时整理(NOIP考点)
历年真题 数学题: 数论(exgcd 逆元,CRT,EXCRT,快速幂,线性筛 ,杜教筛)排列组合 概率期望(什么东西) C(n,m) = 逆元? 分解质因数? Ti(大质数的类似物)思考技巧分解质因 ...
- NOIP模板整理计划
先占个坑 [update]noip结束了,弃了 一.图论 1.单源最短路 洛谷P3371 (1)spfa 已加SLF优化 #include <iostream> #include < ...
- $\rm{NOIp}$板子整理
怎么说呢,整理这个的目的就是为了有个简约的\(list\),方便以后查阅,复习起来不至于太吃力. 并且--好像重温一遍所有,会更有一些新的认识.这也算是对我所学的一点整理了吧. 一.并查集的两种方式 ...
- C# ListView用法详解 很完整
一.ListView类 1.常用的基本属性: (1)FullRowSelect:设置是否行选择模式.(默认为false) 提示:只有在Details视图该属性才有意义. (2) GridLines:设 ...
- OI知识点|NOIP考点|省选考点|教程与学习笔记合集
点亮技能树行动-- 本篇blog按照分类将网上写的OI知识点归纳了一下,然后会附上蒟蒻我的学习笔记或者是我认为写的不错的专题博客qwqwqwq(好吧,其实已经咕咕咕了...) 基础算法 贪心 枚举 分 ...
随机推荐
- quartz2.3.0(十五)执行、暂停、继续执行、清除,花式操作数据库中持久化的job任务
#################################################################################################### ...
- mysql 生成指定范围随机数
生成随机数 生成0-3的随机数 SELECT RAND() * 3 最大不会超过3, SELECT FLOOR(RAND() * 3) 上面生成整数的值是0,1,2,3生成的随机整数是1,2,3的话, ...
- tkinter学习笔记_06
12.弹窗 messagebox import tkinter as tk from tkinter import messagebox root = tk.Tk() root.title(" ...
- Disruptor分布式id生成策略
需要的pom文件: <!-- 顺序UUID --> <dependency> <groupId>com.fasterxml.uuid</groupId> ...
- extend Thread 和 implements Runnable
原文地址:extend Thread 和 implements Runnable 一个Thread的实例只能产生一个线程 or: 同一实例(Runnable实例)的多个线程 look: public ...
- 大数据相关技术原理资料整理(hdfs, spark, hbase, kafka, zookeeper, redis, hive, flink, k8s, OpenTSDB, InfluxDB, yarn)
hdfs: hdfs官方文档 深入理解HDFS的架构和原理 https://blog.csdn.net/kezhong_wxl/article/details/76573901 HDFS原理解析(总体 ...
- 社交类app开发( 仿陌陌 客户端+服务器端)
一.开发所需要的技术 手机端需要Android/iOS开发人员,服务器端需要php/数据库开发人员, 如果再做网页版的话,WEB开发也是要的. 即时通讯 GPS地图 群聊 差不多 对 http so ...
- layui 多个文件上传控件 整合缩减代码
// 图片上传 upload.render({ elem: '.upload-img' // 点击上传的按钮统一使用该类 ,url: "{:url('image/upload')}" ...
- 4.kafka API producer
1.Producer流程首先构建待发送的消息对象ProducerRecord,然后调用KafkaProducer.send方法进行发送.KafkaProducer接收到消息后首先对其进行序列化,然后结 ...
- sql语句,数据库中,同表添加,主键不同,数据相同。
insert into tablename(各个字段名) select #新主键值,其他字段名 from tablename where No = #表中主键值