- 博客(6)
- 收藏
- 关注
原创 侯捷C++学习笔记(1)----C++面向对象高级开发(上)
在一个C++程序中,有两种基础的文件:头文件(.h或.hpp)和源文件(.cpp)。两个文件都存放C++的源代码,但各自有不同的作用。头文件通常用于声明类、函数原型、变量声明、宏定义等,而源文件则用于实现这些声明,即定义类的成员函数、函数的实现等。在大型项目中,这种分割管理方式可以提高代码的可读性和可维护性。下面我们通过一个例子来理解这两类文件。例如,假设我们有一个名为Person的类,我们可以将这个类的声明放在一个名为Person.h然后,在源文件Person.cpp中,我们实现Person。
2024-06-17 23:06:24
903
原创 博弈论入门--巴什博弈的推导与证明
那么当k(m+1)<n≤(k+1)(m+1) 时,若 n=(k+1)(m+1)那么先手取完后剩下的物品数范围是 [k(m+1)+1,k(m+1)+m]后手可以正好取到 k(m+1),由假设得先手必败。后手必输,因为先手采取最优策略拿走s个,让后手陷入了n=k*(m+1)局面 也就是上述的必败局势 通过归纳法我们证明出巴氏博弈的局面分析。由这两个基本点我们是否可以推断当n=k(m+1)时,先手必输?若 n<(k+1)(m+1) 那么先手可以取到 k(m+1),由假设得此时后手必败先手必胜。
2023-07-21 11:05:57
1189
4
原创 C - Restore the Array Div3比赛有感
按照题意我们需要构造一个序列使得序列中每两项元素得到的最大值元素所构造出的新序列与原输入序列相同。需要注意的是我们输出是从第一项的前一项开始构造的 那么也就是说我们要把arr[0]开到。从这一个来说我们是不是找到了一个规律:也就是我们所需值的前一项必须要小于或者等于。我们所需值的前一项必须要小于或者等于我们那一所需项的值。1 2 3(输入一个长度为3的序列)按照这个构造序列我们求得新序列为。4(构造一个长度为4的序列)算法思维: 构造加贪心。
2023-04-05 10:20:25
262
1
原创 DFS入门学习--从例题学算法
这是一种以时间换空间的算法,也称为爆搜 所以遇到特别大的数据时优先不考虑这种算法,当然可以将他进行优化 也就是剪枝(减少无价值的搜索)按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。字典序也就是按照数字的大小进行排序输出,也就是strcmp函数的比较方式 这个不难理解。BFS是搜索与图论中的一个基础算法 称为深度优先搜索 相较与DFS广度优先搜索来说。首先数字不重复 我们可以建立一个bool类型的数组进行判断我们是否使用过这一个数字。
2023-03-28 15:28:36
166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人