时隔一年,相比去年一无所知的自己,学到了不少东西,虽然还是很弱,但也颇有收获【学会了打板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. 【转】linux下,如何把整个文件夹上传到服务器(另一台linux)

    原文转自:https://zhidao.baidu.com/question/1046040541327493019.html 1.Linux下目录复制:本机->远程服务器 scp  -r /h ...

  2. 网络基础知识-bps、Bps、pps的区别

    在计算机科学中,bit是表示信息的最小单位,叫做二进制位:一般用0和1表示.Byte叫做字节,由8个位(8bit)组成一个字节(1Byte),用于表示计算机中的一个字符.bit(比特)与Byte(字节 ...

  3. 240. 搜索二维矩阵 II

    二维数组搜索 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示例: 现有矩阵 ...

  4. Jenkins 自动化测试

    学习 Jenkins 自动化测试的系列文章 Robot Framework 概念 Robot Framework 安装 Pycharm + Robot Framework 环境搭建 Robot Fra ...

  5. 斯坦福大学机器学习(Andrew Ng@2014)--自学笔记

    今天学习Andrew NG老师<机器学习>之6 - 6 - Advanced Optimization,做笔记如下: 用fminunc函数求代价函数最小值,分两步: 1.自定义代价函数 f ...

  6. 兰亭集势收购美国社交购物网站Ador,收购的是人才

    1 月 6 日消息,外贸电商公司兰亭集势(LightInTheBox)今日宣布,已经完成对美国社交电商网站 Ador 公司的收购.Ador 公司总部位于西雅图.这项资产收购通过现金完成,但未披露交易金 ...

  7. centos7环境下mysql安装

    1.去官网下载合适的yum源安装包 https://dev.mysql.com/downloads/repo/yum/ 2.yum 本地安装 命令:yum localinstall mysql57-c ...

  8. OOP 2.2 构造函数

    1.概念 成员函数的一种 名字与类名相同,可以有参数,没有返回值(void也不行) 作用:对对象进行初始化,如给成员函数赋初始值 如果定义时没有构造函数,则编译器生成一个默认无参数的构造函数 默认构造 ...

  9. 寒假c++学习计划

    课程选择 概览 清华大学 C++语言程序设计基础 深入学习 清华大学 C++语言程序设计进阶 (2015年秋) 理由 清华大学郑莉老师的课浅显易懂,很适合我这种小白,再加上学习过c语言理解c++基础并 ...

  10. input value="值栈的值"

    <input type="text" value="<s:property value="myp.begintime"/>" ...