- 博客(92)
- 收藏
- 关注
原创 官网总是崩?一篇带你拿下满血版DeepSeek
好了,自此你就获得了满血版的DeepSeek,Cherry Studio也是在电脑桌面上有客户端,以后想用的时候,直接打开Cherry Studio就可以,实现随时随用,最重要的是不会有服务器繁忙,请稍后再试了。以上步骤为博主自己实践操作,若有错误以及不准确的地方,欢迎大家纠正。
2025-02-08 15:16:38
7469
179
原创 数据结构大作业——家谱管理系统(超详细!完整代码!)
完成一个简易的家谱管理系统,主要包含了管理和查询两大功能。首先允许用户进行家谱的创建并能简易的输出整个家谱。其次,还要具有查询某结点祖先和孩子的功能,同时为保证用户可以随时修改家谱,添加了完善孩子、完善兄弟和删除结点的功能。其中删除结点规则定义为:若有孩子,则孩子一并删去;若有兄弟,则保留兄弟。最后考虑到现实中用户中输入错误的情况,还要包括健壮性的检查。
2024-12-10 10:46:45
10175
141
原创 云开发 Copilot ——让开发变得更简单
在云开发AI+中,腾讯云提供一系列与 AI 相关的功能,如大模型接入、 Agent 等,帮助开发者为自己的小程序、web 或者应用快速接入 AI 能力,同时也提供了云开发 Copilot,来加速用户的开发,帮助用户更快构建自己的应用。下面博主将会为大家实战使用云开发 Copilot来助力开发。云开发 Copilot是云开发推出的一款 AI 开发辅助工具,可以帮助用户快速生成多种类型的应用功能,包括低代码应用、页面、组件、数据模型、CMS 内容等,帮助开发者快速构建自己的小程序、web 等云开发应用。
2024-12-02 12:39:30
7141
266
原创 【算法】连通块问题(C/C++)
连通块问题(Connected Component Problem)是一个经典的图论问题,通常用来找出图中的所有连通分量。给定一个无向图,连通块问题的目标是确定图中有多少个连通分量(即有多少个互相连通的节点组成的集合)
2024-11-26 11:02:37
6096
123
原创 【算法】计算程序执行时间(C/C++)
在C或C++中计算程序执行时间,可以使用多种方法,下面我介绍几种比较常见且好用的几种方法,大家可以选择适合自己的一种记住就可以了。这个库里面有很多函数,都是与时间有关的,功能非常强大,下面列举一个比较常用的函数。时间测量的场景,适用于对比算法时,不需要计算准确时间。这个函数主要用于测量程序的CPU时间消耗,而不是实际的墙钟时间(即从墙上的时钟测量的时间)。这个方法是博主比较推荐的一个,非常简便,且易懂,它用于测量程序的CPU时间。第一个是 递归的程序占用CPU的时间,第二个是非递归的程序占用CPU的时间。
2024-11-22 18:48:24
10354
135
原创 【算法】日期问题(C/C++)
日期问题见名知意,就是有关时间的问题,出题人在时间这一个角度去做文章,现在来看各大刷题网站,什么样的时间问题都有,比如闰年判断、回文日期、日期差值、日期格式化输入输出、时间轮询、时间窗口问题等。可所谓眼花缭乱,但是有的时间问题感觉就是图一乐,但是不排除创新题的可能性,后续也没有什么作用,既不会考也不会出在面试题上,下面我会对几种常见的日期问题进行详解。
2024-11-19 10:59:50
6255
275
原创 【机器学习】朴素贝叶斯算法
朴素贝叶斯算法(Naive Bayes Algorithm)是一种基于贝叶斯定理的简单概率分类器。它假设所有特征之间相互独立,这个假设虽然在现实中往往不成立,但在很多情况下,朴素贝叶斯分类器仍然能够表现得非常好。朴素贝叶斯算法是基于贝叶斯定理的分类算法。贝叶斯定理是一种描述随机事件A和B的条件概率的公式。在朴素贝叶斯中,我们假设特征之间相互独立,即一个特征的出现不影响其他特征的出现。这个假设被称为“朴素”的假设,也是算法名称的由来。
2024-11-15 12:00:32
3113
273
原创 【机器学习】K近邻算法
K近邻算法(K-Nearest Neighbors, KNN)是一种简单但非常实用的监督学习算法,主要用于分类和回归问题。KNN 基于相似性度量(如欧几里得距离)来进行预测,核心思想是给定一个样本,找到与其最接近的 K 个邻居,根据这些邻居的类别或特征对该样本进行分类或预测。
2024-11-12 14:09:07
2247
223
原创 背包九讲——背包问题求具体方案
f[i][j]的上一个状态就是从i+1转移过来的,因为我们定义从第i个物品到最后一个物品,第i+1个物品到最后一个之间的数量是不是比第i个物品到最后一个物品少。f[i+1][j]是不选第i个物品,f[i+1][j-v[i]]+w[i]是选第i个物品。因为我要在所有f[i][j]当中选择一个最大值,所以前面我管不管的先初始化为不选,往后如果背包容量大于体积,那我再看看是选了这个物品总价值是否增大,如果增大就更新,不增大就保持原来。
2024-11-07 12:00:23
2096
246
原创 背包九讲——背包问题求方案数
背包问题涉及到了三种基础的背包:01背包、多重背包、完全背包,我们要根据在这几个背包的基础上去计算在获得最大价值的情况下,有几种方案,并输出方案数。
2024-11-04 13:01:54
1787
250
原创 背包九讲——树形背包问题(有依赖的背包)
树形背包也叫有依赖的背包,是一种背包问题的变体,与传统的背包问题不同的是,物品之间存在一定的层次结构,形成了一棵树。每个节点代表一个物品,节点之间通过边连接,表示层次关系。问题的目标是在遍历这棵树的过程中,选择一些物品放入背包,使得背包中物品的总价值最大。在树形背包问题中,一个节点可以选择放入背包,也可以选择不放入背包。如果选择放入,就需要考虑该节点的子节点;如果选择不放入,可以考虑其他兄弟节点。问题的关键是如何在遍历树的过程中,动态规划地计算每个节点的状态。
2024-10-31 11:32:23
2155
234
原创 背包九讲——分组背包问题
分组背包问题(Grouped Knapsack Problem)是组合优化中的一个问题,它是经典的背包问题的变种。在分组背包问题中,有多个物品组,每组中的物品不可分割,并且每组中的物品数量至少有一个。目标是在不超过背包容量的前提下,选择物品的组合,使得总价值最大。
2024-10-29 10:20:15
1850
213
原创 背包九讲——二维费用背包问题
背包问题是一类经典的组合优化问题,通常涉及在限定容量的背包中选择物品,以最大化某种价值或利益。问题的一般描述是:有一个背包,其容量为C;有一组物品,每个物品有重量w和价值v。目标是选择一些物品放入背包,使得它们的总重量不超过背包容量,同时总价值最大。二维费用背包问题则是背包问题的变体,在背包问题中它只限定物品的重量,二维费用背包会再限定一个维度(体积),在既满足背包容量和既满足背包体积的情况下,使价值最大化。
2024-10-27 11:51:01
1666
214
原创 背包九讲——混合背包问题
混合背包问题是背包问题的另一种变体,结合了0/1背包、多重背包和完全背包的特点。在混合背包问题中,每种物品可以选择放入背包的次数是有限的,而且也可以选择放入的数量是无限的。问题的描述如下:给定一个背包容量为m,有n种物品,每种物品有重量v[i]、价值w[i]、以及数量s[i]。其中,s[i]表示第i种物品的数量限制。目标是选择物品放入背包,使得它们的总重量不超过背包容量,并且总价值最大。
2024-10-24 11:08:45
2170
251
原创 背包九讲——完全背包问题
完全背包问题呢,见名知意,就是所谓的物品无限多,选也选不完的那种,是多重背包的promax版本。完全背包问题是背包问题的一种变体,与0/1背包问题有所不同。在完全背包问题中,每种物品的数量是无限的,可以选择任意数量的某一种物品放入背包中。
2024-10-21 11:22:02
2097
257
原创 背包九讲——多重背包问题
多重背包问题是背包问题的一种扩展,与0/1背包问题和分数背包问题有些不同。在多重背包问题中,每种物品都有限定的数量,不再是仅有一个,而是有多个。问题的描述如下:给定一个背包容量为C,有n种物品,每种物品有重量w[i]、价值v[i]和数量s[i]。目标是选择物品放入背包,使得它们的总重量不超过背包容量,并且总价值最大。
2024-10-18 08:00:00
2026
235
原创 背包九讲——01背包问题
背包问题是一类经典的组合优化问题,通常涉及在限定容量的背包中选择物品,以最大化某种价值或利益。问题的一般描述是:有一个背包,其容量为C;有一组物品,每个物品有重量w和价值v。目标是选择一些物品放入背包,使得它们的总重量不超过背包容量,同时总价值最大。这个问题有两个主要变体:0/1背包问题和分数背包问题。
2024-10-15 11:47:10
2036
235
原创 【机器学习】随机森林算法(看我以弱博强)
随机森林(Random Forest)是一种集成学习方法,它通过构建多个决策树来进行分类或回归预测。随机森林的核心思想是“集思广益”,即通过组合多个模型来提高预测的准确性和鲁棒性。
2024-10-11 12:37:52
1886
212
原创 【算法】博弈论(C/C++)
在算法竞赛中,博弈论算法常用于解决涉及对抗、策略选择、最优决策等问题。这类问题通常涉及两名或多名玩家在某种规则下的竞争,而每个玩家试图通过选择最优策略获胜。常见的博弈论问题类型包括零和博弈、格局游戏(如Nim博弈)、棋类游戏以及其他涉及策略选择的问题。
2024-10-08 11:17:34
7387
227
原创 【算法】哈希映射(C/C++)
哈希映射算法是一种通过哈希函数将键映射到数组索引以快速访问数据的数据结构。它的核心思想是利用哈希函数的快速计算能力,将键(Key)转换为数组索引,从而实现对数据的快速访问和存储。哈希映射在现代软件开发中非常重要,它提供了高效的数据查找、插入和删除操作。
2024-10-03 12:02:41
3154
212
原创 【机器学习】ID3、C4.5、CART 算法
它是一种贪心算法,信息增益表示按某特征划分数据集前后信息熵的变化量,变化量越大,表示使用该特征划分的效果越好。:这个实现是为了教学目的而简化的,实际应用中通常会使用更高级的库和算法,如 scikit-learn 中的 DecisionTreeClassifier。C4.5是ID3的改进版,使用信息增益比替代信息增益作为特征选择标准,从而克服了ID3倾向于选择多值特征的缺点。
2024-09-28 11:51:57
4933
267
原创 【机器学习】决策树算法
决策树通过树状图的形式模拟决策过程,每个内部节点代表一个属性上的判断,每个分支代表判断的结果,每个叶节点代表一种决策结果。
2024-09-24 11:40:36
3272
263
原创 【算法】最长公共子序列(C/C++)
简称(LCS),是动态规划里面里面的基础算法它的所解决的问题是,在两个序列中找到一个序列,使得它既是第一个序列的子序列,也是第二个序列的子序列,并且该序列长度最长。由下图中两个序列,我们可以看出来最长公共子序列为[s c r g]。我们来举个“”,比如序列A为“abcdef”,序列B为“bcef”,那么它的最长公共子序列为序列B,即:“bcef”,注意最长公共子序列不用保证每一个字符必须连续。那么我们一般的暴力做法是什么呢?
2024-09-20 10:50:16
7104
190
原创 大一新生以此篇开启你的算法之路
各位大一计算机萌新们,你们好,本篇博客会带领大家进行算法入门,给各位大一萌新答疑解惑,请不要错过。算法竞赛是一个很好的机会,希望各位大一新生把握此次机会,好好的体验一把,过了这个村就没这个店了。写此篇博客的目的是为了帮助大一新生进行算法入门解答,希望学弟学妹们少走博主走过的弯路。
2024-09-13 11:11:55
4351
251
原创 小小GCD、LCM拿下拿下
GCD、LCM是算法当中的基础之基础,分别对应最大公约数、最小公倍数,在算法竞赛中涉及到的概率也是比较高的,GCD、LCM在小学时就涉及到了求法,本篇将给大家详解GCD、LCM这两个函数,并且提供最简单的模板,在考察时,直接背上即可。
2024-09-10 12:00:39
2011
228
原创 一篇带你速通差分算法(C/C++)
差分算法是一种在计算机科学中常用的算法,特别是在处理序列数据时,它可以帮助我们快速计算出序列中相邻元素的差值。时间复杂度可以达到O(1),在C++中实现差分算法不仅可以提高程序的效率,还可以简化代码的复杂度。本文将详细介绍差分算法的原理、C++实现方法以及算法例题。
2024-09-07 11:57:16
4602
230
原创 一篇带你速通前缀和算法(C/C++)
前缀和是一种常见的算法计算技巧,通常用于处理数组或序列的连续子区间求和问题。它可以帮助我们在 O(1) 的时间内计算出指定子区间的和,而不需要每次都遍历整个子区间。前缀和一般用于预处理当中,具有高效率的特点。
2024-09-04 11:57:04
2909
216
原创 详解树状数组(C/C++)
树状数组(Binary Indexed Tree,简称BIT或Fenwick Tree)是一种用于高效处理数据序列的算法数据结构。它能够支持两个主要操作:单点更新和区间求和,这两个操作的时间复杂度都能达到O(log n),其中 n是数据序列的长度。树状数组非常适合处理那些需要频繁更新和查询区间和的问题。
2024-09-01 12:01:34
2048
118
原创 弗洛伊德(Floyd)算法(C/C++)
弗洛伊德算法(Floyd's algorithm),又称为弗洛伊德-沃尔什算法(Floyd-Warshall algorithm),是一种用于在加权图中找到所有顶点对之间最短路径的算法。这个算法适用于有向图和无向图,并且可以处理负权重边,但不能处理负权重循环。
2024-08-28 15:18:54
4326
240
原创 迪杰斯特拉(Dijkstra)算法(C/C++)
迪杰斯特拉(Dijkstra)算法是一种用于在加权图中找到单个源点到所有其他顶点的最短路径的算法。它是由荷兰计算机科学家艾兹格·迪科斯彻(Edsger Dijkstra)在1956年提出的。Dijkstra算法适用于处理带有非负权重的图。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。
2024-08-19 12:02:02
9299
215
原创 数据结构与算法——BFS(广度优先搜索)
广度优先搜索(Breadth-First Search,简称BFS)是一种遍历或搜索树和图的算法,也称为宽度优先搜索,BFS算法从图的某个节点开始,依次对其所有相邻节点进行探索和遍历,然后再对这些相邻节点的相邻节点进行探索,直到遍历完所有的节点。
2024-08-17 11:47:21
9796
191
原创 数据结构与算法——DFS(深度优先搜索)
深度优先搜索(Depth-First Search,简称DFS)是一种用于遍历或搜索树或图的算法。这种算法会尽可能深地搜索图的分支,直到找到目标节点或达到叶节点(没有子节点的节点),然后回溯到上一个分支继续搜索。
2024-08-13 13:52:30
7869
203
原创 C/C++字符串函数
在一些程序里面我们将会进行一系列的字符串操作,这些操作可以用一些函数进行简单的实现,对写代码效率和代码可读性具有重要意义。
2024-08-11 21:22:12
4520
32
原创 最大子矩阵(C/C++)
最大子矩阵问题是指在一个矩阵中找到一个子矩阵,使得该子矩阵的元素之和最大。解决该问题的常用方法是使用动态规划。先计算出每一行的前缀和,然后对于每一列的起始和终止位置,计算出该区域内每一行的和,得到一个一维数组。再对该一维数组使用动态规划求解最大子数组和的问题,得到最大子矩阵的元素之和。
2024-08-10 13:05:52
2421
156
原创 详解贪心算法
贪心算法是一种在求解最优化问题时采取的一种常用算法策略。贪心算法的基本思想是,每次选择当前情况下的局部最优解,并相信这个局部最优解能够导致全局最优解。
2024-08-06 11:52:27
4140
64
原创 详解C/C++输入输出
C/C++输入输出很多,在不同的情况会有不同的输入输出,C/C++有哪些常用的输入输出,在什么时候用它们,这篇博客我们一一详解。
2024-08-04 09:00:06
3025
80
原创 你真的懂二分吗?
首先判断到任意一个1无论在什么位置,比如说在第二个1,那么check(mid)条件是成立的,我就更新左端点把范围给到右区间,让他去找最右边的1,不断去找... 当判断到最后一个1时,再更新l==r了,此时就退出循环了,也就找到答案了。像1,1,2,2,2... 这种如果想找到最小的数且靠右边的数,以上模板可能比较难实现。数组==[1,1,1,1,2,2,2,3...],想要查找最右边的1,就是第四个1,如果用上面的模板,它查到一个1就立马返回了,不管你是哪一个1,取决于你的左右边界了。
2024-08-02 11:02:02
1936
100
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人