oi集训总结
时间:2020-04-26
本文章向大家介绍oi集训总结,主要包括oi集训总结使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
oi集训总结
- 内容目录
- 掌握情况
2.29
数论, (gcd与exgcd,裴蜀定理)
exgcd:
\[x = y',y = x'-| \frac{a}{b}|*y'
\]
void exgcd(int a ,int b,int &x,int &y)
{
if(!b) {
x = 1,y = 0;return;
}
exgcd(b,a%b,y,x);
y -= (a/b)*x;
}
需要用到可以现推出来qwq
3.1
素数筛法(埃氏筛)
埃氏筛很简单诶
附一个欧拉筛的代码吧
for(int i = 2;i <= n;i ++){
if(!vis[i]){
num[++cnt] = i;
}
for(ll j = 1;(j <= cnt)&&(i*(ll)num[j] <= n);j ++){
vis[i*(ll)num[j]] = 1;
if(i%num[j] == 0) break;
}
}
3.2
ex中国剩余定理 (真啥都可以拓展耶)
\(\begin{cases}x\equiv b_1\pmod{a_1}\\x\equiv b_2\pmod{a_2}\\x\equiv b_3\pmod{a_3}\\ \cdots \\ x\equiv b_n\pmod{a_n}\end{cases}\)
掌握情况:并不是很好qwq
逆元。
可通过拓欧来求得逆元。
费马小定理求逆元
线性求逆元:
inv[1] = 1;
for(int i = 2;i <= n;i ++)
inv[i] = (p-p/i)*inv[p%i]%p;
3.3
杂题选讲(卡特兰数+期望dp)
3.4
杂题选讲
3.6
简单DP+记搜(很基础啦)
3.7
状压DP + 背包DP
3.8
树形DP
3.9
3.10
DP题目练习
3.11
DP题目练习
3.12
单调队列单调栈优化DP
3.13
矩阵乘法(快速幂)优化数列
3.14
字符串
-
KMP算法
-
Trie树
-
哈希
3.15
字符串题目讲解
3.16
数据结构:ST表,差分
3.17
扫描线与数据结构题目讲解
3.18
“超级钢琴”(很神奇的题)
3.21
题目讲解
3.22
题目讲解
3.23
题目讲解
3.24
题目讲解
3.25
图论(终于开了图论)
- 最短路
- 并查集
- 最小生成树
- 差分约束
- 数的直径+树的重心
- 倍增LCA
- dfs序,欧拉序
3.26
tarjan+圆方树(又是没搞明白的东西了)
4.6
神奇的交互题(并不懂)
4.7
题目讲解
4.13
神奇的构造题(qwq)
4.17
题目讲解
4.18
题目讲解
4.24
题目讲解+算法清单
好像我数论还是不太会呀 \(qwq^{qwq^{qwq}_{qwq}}_{qwq_{qwq}}\)
原文地址:https://www.cnblogs.com/nao-nao/p/12778771.html
- 【关关的刷题日记59】Leetcode 257 Binary Tree Paths
- 学大伟业 国庆Day2
- ECMAScript 6入门 - 变量的解构赋值
- 二叉排序树 python实现
- ES6新特性概览
- 数据结构-顺序表的定义及python实现
- 洛谷P1516 青蛙的约会
- python实现二叉树的创建和遍历
- python中numpy模块下的np.clip()的用法
- Leetcode-Easy 543. Diameter of Binary Tree
- Leetcode-Easy 572. Subtree of Another Tree
- 图解javascript this指向什么?
- 2017/6/8-python正则表达式的使用
- 洛谷P1306 斐波那契公约数
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法