蓝桥杯国赛知识点汇总

蓝桥杯国赛备赛总结知识点,以老师给的为原型,添加自己理解,供大家参考,后期不定时更新。

基础

1、熟练掌握API1.8常用方法

2、大数(高精度)加减乘除

3、并查集

模板:
public class dome {
	int[] parent;
	int[] rank;
	
	void init(int x) {
		parent=new int[x];
		rank=new int[x];
		for (int i = 0; i < x; i++) {
			parent[i]=i;
		}
	}
	
	int find(int x) {
		return parent[x]==x?x:(parent[x]=find(parent[x]));
	}
	
	void merge(int x,int y) {
		int a=find(x),b=find(y);
		if(rank[x]<=rank[y])
			parent[x]=y;
		else
			parent[y]=x;
		if(rank[x]==rank[y]&&x!=y)
			rank[y]++;
	}
}

4、线段交点、多角形面积公式、辗转相除(两行内)、质数、位运算、hash表等

数据结构

1、数组:一维二维数组、链表
区间问题:前戳和、树状数组、线段树
2、字符串:常用操作
大部分字符串题都可以用动态规划,其他还有滑动窗口等。
3、队列:增删改查
4、树:重点二叉树、二叉树的三种遍历(前序、中序、后序)等
平衡树/线段树
5、图:有向图、无向图。
存储用邻接表,可以用set或map保存顶点信息等。
常涉及的算法:最小生成树算法prim算法及Kruskal算法、最短路径算法Dijkstra(单源,不可有负权值)算法、Floyd(所有点最短路,可为负)算法、BellmanFord(SPFA)(可为负)算法等。
6、堆:先进先出
栈:堆排序

算法

1、基础算法:暴力、穷举、递归、全排列,掌握十大经典排序算法(优先用API中排序算法)
2、搜索:DFS(递归与非递归)、BFS
结合剪枝、记忆化等。
3、动态规划:
经典应用:投资问题、背包问题、最长公共子序列LCS、图像压缩、最大子段和、最优二分检索树、生物信息学中的动态规划算法等
4、贪心算法:最优前缀码、最小生成树prim算法及Kruskal算法、单源最短路径Dijkstra算法
5、回溯:背包问题、最大团问题、货郎问题、圆排列问题、连续邮资问题等
6、网络流算法:最大流问题Ford-Fulkerson、EK算法及Dinic有效算法、二分图匈牙利算法、最小费用流Floyd算法等

注意:以上为重点掌握知识点,一定要做到:熟知思想、掌握经典案例、能用程序代码实现。
其他训练中遇到的知识点也一并学习掌握。

  • 2
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值