- 博客(12)
- 收藏
- 关注
原创 7月20日练习第八天
一开始,感觉和吃蘑菇的题比较像,想反着思考,但是没想法,卡顿了,大脑被糊住了,之后考虑错条件了,以为如果选择了一种间距,就只能用这个间距,所以我就枚举间距,用前缀和判断是否可行,结果不匹配。之后 最大的数个数如果是奇数,那A就赢了,否则判断n的奇偶,如果是奇数,A赢,否则输(此时已经很接近正确答案了,但还有不满足的情况,如1,2,2,3,4,4,当A选3时,A必赢)一开始想 最大的数的个数如果是奇数,那A就赢了,否则A输(但是漏了情况,如2,3,3,4,4,A选2就能赢)
2024-07-24 15:00:33
463
原创 蓝桥杯考前复习
给区间[l, r]中的每个数加上c:B[l] += c, B[r + 1] -= c。(2) 对于两个序列,维护某种次序,比如归并排序中合并两个有序序列的操作。S[i, j] = 第i行j列格子左上部分所有元素的和。(1) 对于一个序列,用两个指针维护一段区间。// 具体问题的逻辑。
2024-04-12 22:49:58
290
原创 数学知识(三)——博弈论
给定N堆物品,第i堆物品有Ai个。两名玩家轮流行动,每次可以任选一堆,取走任意多个物品,可把一堆取光,但不能不取。取走最后一件物品者获胜。两人都采取最优策略,问先手是否必胜。我们把这种游戏称为NIM博弈。把游戏过程中面临的状态称为局面。整局游戏第一个行动的称为先手,第二个行动的称为后手。若在某一局面下无论采取何种行动,都会输掉游戏,则称该局面必败。所谓采取最优策略是指,若在某一局面下存在某种行动,使得行动后对面面临必败局面,则优先采取该行动。同时,这样的局面被称为必胜。
2024-02-21 21:52:55
841
原创 搜索与图论(三)
时间复杂度是 O(mlogm), n表示点数,m表示边数。时间复杂度是 O(n2+m), n表示点数,m表示边数。时间复杂度是 O(n+m), n表示点数,m表示边数。时间复杂度是 O(nm), n表示点数,m表示边数。
2024-02-21 12:33:56
353
原创 搜索与图论(二)
时间复杂度 平均情况下 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
382
原创 搜索与图论(一)
树是一种特殊的图(无环连通图),所以树与图的相关操作只看图的就可以。图:(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
409
原创 哈希表、C++STL使用技巧
将一个大的数据集合映射到一个小的数据集合,加快查找速度哈希函数一般会将一个值x%N将一个大的数据集合映射到小的数据集合时,可能会发生冲突(多个不同的值映射成一样的值)
2024-02-02 22:08:19
349
原创 常用的高精度模板(整数)
在C/C++中,把大整数的每一位存到数组中,储存的时候低位在前,高位在后,如:123456,a[0]=6,a[5]=1。这是因为我们在做加法、乘法时会进位,在数组末尾加一个数更容易,如果在数组开头加上一个数,就需要将所有数组元素向后移,这比较麻烦。高精度除法储存时高位在前比较好,但是题目可能多种运算混合,所以统一用高位在后。
2024-01-26 11:04:36
406
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人