时隔一年,相比去年一无所知的自己,学到了不少东西,虽然还是很弱,但也颇有收获【学会了打板QAQ】

现在是2017.11.9   21:10,NOIP2017的前两天晚上,明天就要出发,做最后的总结

NOIP考的算法不如省选、NOI广,但也不少,而更注重思维量【本蒟蒻思维就很不好】

总的来说有以下:

1、模拟

2、搜索

3、二分、贪心、倍增等算法思想

4、动态规划

5、图论

6、数论、数学

7、数据结构

模拟

模拟就没什么好说的吧,按照题目所说的去做,但要非常注意的就是考虑周全,尤其是要分类讨论的模拟,这个时候最好先离开键盘,在草稿纸上先理一遍,确定严谨性

搜索

搜索作为在OI中一个极其重要的算法,应用最广泛。
搜索基于枚举的思想,逐个枚举检查答案
搜索可以是一道题的正解,也可以作为很多题的对拍【骗分。。】
总的来说有以下:

DFS

BFS

A*启发式搜索

双向BFS【相遇】

二分 与 贪心

二分

二分通常用来解决最值问题,尤其是最大值最小、最小值最大这类问题
但在确定二分之前,我们必须检验二分对象是否满足二分性质:
1、我们一般对答案二分
2、对于一个答案,我们能有效率地检验是否可行
3、【最重要】答案满足单调性,即k满足条件,比k大或比k小都一定满足
二分通常可以用以替代枚举【O(n) -> O(logn)】
二分代码主要有两种:
求最大值:
int L = 1,R = 1000,mid;
while (L < R){
mid = L + R + 1 >> 1;
if (check(mid)) L = mid;
else R = mid - 1;
}
求最小值:
int L = 1,R = 1000,mid;
while (L < R){
mid = L + R >> 1;
if (check(mid)) R = mid;
else L = mid + 1;
}
还有一种是求最接近某个值的二分,这时候大于就给r,小于就给l,等于就是答案,不等于退出时l,r都检查一下

贪心

贪心,顾名思义,就是只考虑当前最优
贪心能解决的问题一定要满足最优子结构,就是一个问题分成多个子问题,主问题的最优解 等于 子问题的最优解之和

动态规划

背包:

01背包、完全背包、分组背包、混合背包、多重背包【二进制优化】、有依赖的背包、满载背包、背包方案

区间dp:

枚举断点O(n^3)

树上dp

状压dp:

用二进制表示集合作为状态进行转移
适用n<=20的数据

LIS、LCS

LIS有nlogn的二分优化算法

以及其他各种dp

图论

最短路

dijkstra

spfa

bell-manford

floyd

生成树kruskal

tarjan强联通分量缩点

拓扑

欧拉回路

【什么网络流应该不考吧。。】

数论、数学

同余性质

gcd、exgcd扩欧

费马小定理【指数的同余】

线性筛

欧拉phi函数

      φ(n) = n * (1 - 1/p1) * (1 - 1/p2) * (1 - 1/p3) ...... * (1 - 1/pk)
      小于n与n互质的个数

快速幂

组合数

    C(n,m) = n! / (m! * (n - m)!)
    计算方式:O(n)单算,O(n^2)递推,C(n,k)的和 = 2 ^ n【k∈[0,n]】,二项式定理、杨辉三角

基本计数原理

加法原理、乘法原理、容斥原理

数列

    斐波那契数列f[n] = f[n-1] + f[n - 2]
   1、1、2、3、5、8、13、21、37、58、95......
  卡特兰数  f[n] = f[n - 1] * (4 * n - 2) / (n + 1)
   1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786......

乘法逆元

    一般: ax≡1 (mod p)
   a,p互质: x = a^(p-2)
   递推:v[i] = -(p/i) * v[p % i]

数据结构

基本数据结构

   队列、栈、链表

并查集

    用来解决集合的合并与查找
  特殊:维护到父节点的路径长

树状数组

线段树

     一般线段树维护区间信息、主席树维护历史版本

二叉堆

二叉查找树

     splay什么的

查分数组

     修改完才查询的最快方法

KMP

     字符串匹配
   next数组意义:前一个位置的后缀前缀最长相同长度

trie树

    也叫字典树,高效查找【什么AC自动机应该不考吧。。。】

总的来说

复赛考的知识点不算广,但思维量考察是很大的,尤其是二分、动归这样精巧的思想,需要我们深入的思考以及细心地分析,明天的考试要静下心,认真考虑细节,就好像手里没有键盘,先想清楚细节再动手,切不可浮躁。
这次的比赛向往了很久,期待了很久,紧张了很久,遐想了很多,也很拼,从一个什么都不会的蒟蒻变成了至少有了些知识储备拿得出手的蒟蒻【= =、】,只愿风平浪静,考试顺利。
鲲鹏展翅翼向天,直上云霄九万里
乘风破浪无所惧,不圆夙愿誓不归
NOIP2017 RP++
         

NOIP2017 考前汇总的更多相关文章

  1. noip2017考前整理(未完)

    快考试了,把我以前写过的题回顾一下.Noip2007 树网的核:floyd,推出性质,暴力.Noip2008 笨小猴:模拟Noip2008 火柴棒等式:枚举Noip2008 传纸条:棋盘dpNoip2 ...

  2. 2017.11.7~8模拟测试总结---暨NOIP2017考前对策

    最后两天了,第三天就是NOIP2017--Day1了. 刚刚考完了这个学期从开学以来的最后一场模拟赛了.首先要对于这场模拟赛做一次深刻的反思. 考完才猛地惊叹这是最后一场模拟赛了,然而题目并不难,也保 ...

  3. 2017.11.8 Noip2017 考前模拟赛

    ----------------------------------T1---------------------------------- ——>足球联赛 题目描述 巴蜀中学新一季的足球联赛开 ...

  4. 2017.11.7 Noip2017 考前模拟赛

    ----------------------------------T1---------------------------------- ——>数学老师的报复 题目描述 11 班数学大佬 Y ...

  5. noip2017考前基础复习——数论数学

    ·最大公约数 gcd 辗转相除法  gcd(a,b)=gcd(b,a%b) int gcd(int x,int y){ ) return x; return gcd(y,x%y); } 效率O(log ...

  6. NOIP2017 国庆郑州集训知识梳理汇总

    第一天 基础算法&&数学 day1难度测试 如果要用一个词来形容上午的测试,那真是体无完肤.  成绩: 题目 成绩 评价 T1 50 一般 T2 10 大失所望 T3 0 差 基础算法 ...

  7. 清北·NOIP2017济南考前冲刺班 DAY1 morning

    立方数(cubic) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数 ...

  8. 【HiJ1m】在NOIP2017前写过的有用的东西汇总

    http://www.cnblogs.com/Elfish/p/7544623.html 高级树状数组 http://www.cnblogs.com/Elfish/p/7554420.html BST ...

  9. [SinGuLaRiTy] NOIP2017 提高组

    [SinGuLaRiTy-1048] Copyright (c) SinGuLaRiTy 2018. All Rights Reserved. NOIP2017过了这么久,现在2018了才找到寒假这么 ...

随机推荐

  1. [css 实践篇]CSS中的尺寸单位

    绝对单位 px: Pixel 像素 pt: Points 磅 pc: Picas 派卡 in: Inches 英寸 mm: Millimeter 毫米 cm: Centimeter 厘米 q: Qua ...

  2. Java的Graphics类进行绘图的方法详解

    Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力. Graphics类提供基本的几何图形绘制方法,主要有:画线段.画矩形.画圆.画带颜色的图形.画椭圆.画圆弧.画多边形等 ...

  3. JVM知识(下)

    目录 方法区 类型信息 方法信息 类变量 引用类的类加载 类引用 堆(Heap) GC 定义对象 数组引用 栈 栈帧 操作数栈 帧数据 本次主要介绍,JVM的方法区,堆,栈.以下内容主要还是参考< ...

  4. linux系统CPU内存磁盘监控发送邮件脚本

    #!/bin/bashexport PATHexport LANG=zh_CN.UTF-8###top之后输入数字1,可以查看每颗CPU的情况.###先配置好mailx邮箱账号密码:#cat>/ ...

  5. CentOS7.2最小化安装后系统优化

    系统初始化技术的演变 1.sysvinit技术 (1)Linux系统的第一个进程(pid=1)为init: Linux 操作系统的启动首先从 BIOS 开始,接下来进入 boot loader,由 b ...

  6. nginx启动、停止重启

    启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /us ...

  7. 该用哪个:Redis与Memcached之间如何选择呢?

    华为云分布式缓存Redis5.0和Memcached都是华为云DCS的核心产品. 那么在不同的使用场景之下,如何选择Redis5.0和Memcached呢? 就由小编为大家进行详细的数据对比分析吧 R ...

  8. Visual Studio 调试时无法命中断点

    1.查看代码优化是否勾选,如有去掉勾选 2.确保是在Debug模式下设置的断点 3.确保在启动时未修改代码即“要求源文件和原始版本完全匹配” 4.DLL的引用问题

  9. 标准版 Eclipse (Eclipse standard 4.3.3) 添加 Tomcat 支持

    步骤1:下载 Eclipse Tomcat 插件最新版:tomcatPluginV33.zip,官网下载最新版:http://www.eclipsetotale.com/tomcatPlugin.ht ...

  10. 改进意见的答复及bug重现

    各组对本组的互评链接如下 Thunder:http://www.cnblogs.com/vector121/p/7905300.html 王者荣耀交流协会:http://www.cnblogs.com ...