作为一个oier,适当的整理是有必要的。蒟蒻根据自己的理解,筛选出考noip应当掌握的知识点。可能后期还有解题思路和模板,先挖个坑慢慢补呗。
60级张炳琪Noip知识点总结
一.知识点
(一).暴力求解法
1.模拟算法,模拟模型建立
2. dfs洪水模型 迷宫模型 最优性可行性剪枝,记忆化搜索
3. bfs 双向宽搜 判重的方法
4.枚举法
(二)图论相关
1. 最短路算法,堆优化迪杰斯特拉,floyed,SPFA
2. 最小生成树 kruskal prim算法
3.缩点强联通分量 tarjan算法
4.图的遍历,二分图的区分和构造,匈牙利算法
5.哈密顿回路和欧拉回路
6.拓扑排序
(三)数论相关
1. 欧几里得,扩展欧几里得算法
2. 质数判断 质数筛法
3. 排列组合问题 杨辉三角
4. 容斥原理
5. 进制转换
6. 高精度 压位高精
7. 快速幂 快速乘法
(四)数据结构相关
1.树形结构:树的构造和三种遍历,无根树转有根树。树上求LCA的方法。堆,优先 队列。并查集,加权并查集。
2.线性结构:栈,队列,单调栈,单调队列,链表,双端队列。
(五)动态规划
1.背包dp 01,完全,多重,分组,依赖性
2.区间dp 合并石子
3.树形dp
4.状压dp(初状态的确定)
5.线性dp
6.棋盘dp
7.其他常用dp模板:最长上升子序列,最长公共子序列,最大权值正方形,最大全 0/全1正方形,最大连续子段和,期望dp
(六)常用算法和思想
1.前缀和思想,差分思想
2.二分答案 分治算法
3.倍增思想和算法 LCA
4.贪心思想 活动安排,线段覆盖,最大连续子段和
5.悬线法
6.归并排序思想 求逆序对
(七)字符串相关
1.回文串
2.字符串模拟
3.字符串哈希
4.kmp算法
二.解题思路和模板