自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝桥杯真题讲解之暴力求解

在蓝桥杯中许多题目即使不知道正解都可以采用暴力求解,我们就以这两个题目为例采用DFS与BFS暴力求解,如果对DFS和BFS不太熟悉可以先看看这个解析:在这个题目中首先注意到数据N<20,这时候很容易想到题目的时间复杂度应该会很高,该题目又是棋盘的形式,很容易联想到DFS/BFS。这道题目我们就以DFS为例来讲解。题目要求在每个格子处要往正西方和正北方各打一枪,在终点处,确保每行每列对应的中枪总数要满足题目要求(终止条件)。DFS就是构建一棵树出来,回溯就是同一层节点之间的转变。

2025-04-05 22:29:26 452

原创 高精度快速幂与欧拉筛法

a^n=a*a*a*····*a,暴力计算需要O(n)的时间,想要快速计算,可以使用二级制拆分和倍增的思想,它的时间复杂度只需要O(logn)。

2025-04-03 22:19:49 272

原创 高精度运算

在c/c++中,无法直接实现高精度的运算,一般都是运用数组存储并模拟运算。

2025-04-01 21:04:10 395

原创 完全背包问题中的排列与组合(补充)

当零钱面值过大时,大于总金额,无法参与兑换,这张钱币就不用参与兑换,这时兑换的种类就等于i-1行的种类数;当它可以参与兑换,即兑换的所有面值小于总金额,就会新增第i张钱币参与的情况,就加上dp[amount-weight[i]],即dp[j]=dp[j]+dp[amount-weight[i]];遍历顺序就是先遍历物品再遍历书包;初始化:dp[3]=dp[3]+dp[3-3]=3+1=4,这里的dp[0]=1没有啥意义,就是从递推关系中得出;(具体代码见上篇博客)

2025-03-23 12:10:43 456

原创 动态规划问题总结(一)背包问题

1.dp数组、下标i,j的含义2.递推公式3.dp数组如何初始化4.遍历顺序5.打印dp数组(防止出错)

2025-03-22 20:21:06 1360

原创 DFS与BFS

深度优先算法是一种很常见的遍历、搜索算法,其核心思想是“暴力”,遍历每个点,找到符合条件的点。时间复杂度在邻接表时是O(V+E),在邻接矩阵中是O(V²),其中V是节点数,E是遍历的边数。从时间复杂度上看,优先考虑使用邻接表。

2025-03-21 19:58:36 367

原创 最近公共祖先+树上前缀

用于计算带权图中任意两个点之间的路径和。

2025-03-17 18:42:47 318

原创 二分法 (在有序数列里查找)

二分法的时间复杂度是logn,对于一些很大的数列要进行查找时,优先考虑二分。一般查找的复杂度是O(logn2),通常假设一个现代编译器优化后的代码在每秒钟可以执行大约 10e8 到 10e9 次简单操作,如果数据大于10e4,优先使用二分法。

2025-03-16 10:38:46 598

空空如也

空空如也

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

TA关注的人

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