自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 分治算法(算法详解+模板+例题)

分治算法(Divide and Conquer Algorithm)是一种通过将复杂问题分解为多个较小的子问题来解决的方法。这些子问题的形式与原问题相同或相似,且彼此独立。通过递归地解决这些子问题,并将它们的解合并起来,最终得到原问题的解。这种方法在排序(如快速排序、归并排序)、查找(如二分查找)和数学计算(如大整数乘法)等领域有广泛的应用。

2024-11-12 19:20:55 1261

原创 动态规划 DP(算法详解+模板+例题)

动态规划(Dynamic Programming),是一种算法设计技术,通常用于解决涉及最优化问题的问题。它通过将复杂问题分解成更小、相互关联的子问题,并存储每个子问题的解,避免了重复计算,从而提高了效率。动态规划通常适用于那些具有“最优子结构”和“重叠子问题”的问题,比如最长公共子序列、背包问题、斐波那契数列等。通过构建一个表格(状态转移方程)来逐步求解最终结果。

2024-10-24 17:53:48 3228 1

原创 贪心算法(算法详解+模板+例题)

接着,将新堆与原先的第三堆合并,又得到新的堆,数目为 12 ,耗费体力为 12。假定每个果子重量都为 1 ,并且已知果子的种类 数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。假设我们有一个简单的例子,比如选择一组硬币来支付一个给定金额的情况,我们的目标是以 最少数量的硬币完成支付。在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。

2024-09-16 15:25:15 1259

原创 六大排序(算法详解+模板+例题)

排序算法(Sorting Algorithms)是一种数据结构操作,它的目的是将一串元素按照特定的顺序规则组织起来。常见的排序算法有升序(从小到大)和降序(从大到小)排列,如冒泡排序、希尔排序、插入排序、选择排序、快速排序、归并排序等。排序的主要目的是为了方便查找、分析数据,提高数据处理效率。在计算机科学中,数组、列表或数据库查询结果等都可以通过排序来进行整理。每种排序算法的时间复杂度和空间复杂度都有所不同,选择哪种算法取决于实际应用场景的需求和性能要求。步骤:1.从第一个元素开始,该元素可以认为已经被排序

2024-09-01 16:53:44 1317

原创 二分查找(算法详解+模板+例题)

二分法(Bisection method) 即一分为二的方法. 设[a,b]为R的闭区间. 逐次二分法就是造出如下的区间序列([an,bn]):a0=a,b0=b,且对任一自然数n,[an+1,bn+1]或者等于[an,cn],或者等于[cn,bn],其中cn表示[an,bn]的中点。

2024-08-17 20:04:47 6076

原创 广度优先算法 BFS总结(算法详解+模板+例题)

你已经掌握了感染源的位置,任务是算出血色先锋军的领主们感染瘟疫的时间,并且将它报告给巫妖王,以便对血色先锋军进行一轮有针对性的围剿。从(1,1)出发,到(2,4)时分成两条线,到(3,4)时又分成两条路线,这时第一次分叉的一条路已经走到头,可以直接结束这个搜索,第二次搜索的第二条线路已经走到终点(5,5)了,可以直接结束循环。第 1 行:四个整数 n,m,a,b,表示军团矩阵有 n 行 m 列。对于 100%100% 的数据,1≤n,m≤2×103,1≤ai,j​≤1018,1≤x≤n,1≤y≤m。

2024-08-10 22:12:42 2211

原创 深度优先算法 DFS总结(算法详解+模板+例题)

沿着树的深度遍历树的节点,尽可能深的搜索树的分支。共 m+1 行,第 1 行为 2 个数,n 和 m,分别表示一共有 n(n≤105) 篇文章(编号为 1 到 n)以及m(m≤106) 条参考文献引用关系。一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。有一个 n \times mn×m 的棋盘,在某个点 (x, y)(x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。

2024-08-09 21:26:42 8144

原创 Atcoder 365 B题解

遍历数组,寻找最大值和次大值。保存a[i]的下标输出。

2024-08-03 21:42:16 150 1

原创 Atcoder 365 A 题解

如果n%4==0&&n%100!=0||n%400==0那就是闰年,否则是平年。直接用if语句判断是否是闰年。

2024-08-03 21:40:23 130

原创 洛谷P1116 车厢重组题解

此时数组已经排序完毕,可以直接输出s。先将1归位,变成:1 4 3 2。再将2归位,变成:1 2 4 3。再将3归位,变成:1 2 3 4。输入4个数:4 3 2 1。进行了三次交换,s变成3。进行了二次交换,s变成5。进行了一次交换,s变成6。

2024-08-03 19:32:51 394

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除