- 博客(11)
- 收藏
- 关注
原创 蓝桥杯考前复习
给区间[l, r]中的每个数加上c:B[l] += c, B[r + 1] -= c。(2) 对于两个序列,维护某种次序,比如归并排序中合并两个有序序列的操作。S[i, j] = 第i行j列格子左上部分所有元素的和。(1) 对于一个序列,用两个指针维护一段区间。// 具体问题的逻辑。
2024-04-12 22:49:58 306
原创 数学知识(三)——博弈论
给定N堆物品,第i堆物品有Ai个。两名玩家轮流行动,每次可以任选一堆,取走任意多个物品,可把一堆取光,但不能不取。取走最后一件物品者获胜。两人都采取最优策略,问先手是否必胜。我们把这种游戏称为NIM博弈。把游戏过程中面临的状态称为局面。整局游戏第一个行动的称为先手,第二个行动的称为后手。若在某一局面下无论采取何种行动,都会输掉游戏,则称该局面必败。所谓采取最优策略是指,若在某一局面下存在某种行动,使得行动后对面面临必败局面,则优先采取该行动。同时,这样的局面被称为必胜。
2024-02-21 21:52:55 859
原创 搜索与图论(三)
时间复杂度是 O(mlogm), n表示点数,m表示边数。时间复杂度是 O(n2+m), n表示点数,m表示边数。时间复杂度是 O(n+m), n表示点数,m表示边数。时间复杂度是 O(nm), n表示点数,m表示边数。
2024-02-21 12:33:56 371
原创 搜索与图论(二)
时间复杂度 平均情况下 O(m),最坏情况下 O(nm),n表示点数,m表示边数。(1)spfa 算法(队列优化的Bellman-Ford算法)时间复杂度 O(mlogn), n 表示点数,m表示边数。时间复杂是 O(n2+m), n表示点数,m表示边数。时间复杂度 O(nm), n 表示点数,m 表示边数。时间复杂度是 O(nm),n表示点数,m表示边数。
2024-02-20 22:48:01 395
原创 搜索与图论(一)
树是一种特殊的图(无环连通图),所以树与图的相关操作只看图的就可以。图:(1)有向图:边有方向,如A->Ba.邻接矩阵——g[a][b] 存储边a->bb.邻接表(常用)——n个单链表// 对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点// 添加一条边a->b// 初始化idx = 0;(2)无向图:边没有方向,如A-B(可以从A到B,也可以从B到A)——无向图是一种特殊的有向图因此,树与图的操作只需要考虑有向图的操作。
2024-02-20 17:15:34 424
原创 哈希表、C++STL使用技巧
将一个大的数据集合映射到一个小的数据集合,加快查找速度哈希函数一般会将一个值x%N将一个大的数据集合映射到小的数据集合时,可能会发生冲突(多个不同的值映射成一样的值)
2024-02-02 22:08:19 370
原创 常用的高精度模板(整数)
在C/C++中,把大整数的每一位存到数组中,储存的时候低位在前,高位在后,如:123456,a[0]=6,a[5]=1。这是因为我们在做加法、乘法时会进位,在数组末尾加一个数更容易,如果在数组开头加上一个数,就需要将所有数组元素向后移,这比较麻烦。高精度除法储存时高位在前比较好,但是题目可能多种运算混合,所以统一用高位在后。
2024-01-26 11:04:36 415
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人