自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 01背包和完全背包

有 N件物品和一个容量为 V的背包,每件物品有各自的价值且只能被选择一次,要求在有限的背包容量下,装入的物品总价值最大。我们先分析一下其状态和要求:要求:价值最大,然后我们再定义一个集合f【i】【j】,其意义为:前 i 个物品 , 容量为 j 时的价值当前背包容量不够即:j小于v【i】,此时的f【i】【j】=f【i-1】【j】,如果够的话,那么我们取max(f【i】【j】,f【i-1】【j-v【i】】+w【i】),最后输出题目要求的f【N】【V】优化:可以把二维优化为一维。

2024-03-31 16:24:37 346 1

原创 SPFA的简单应用

Bellman_ford算法会遍历所有的边,但是有很多的边遍历了其实没有什么意义,我们只用遍历那些到源点距离变小的点所连接的边即可,只有当一个点的前驱结点更新了,该节点才会得到更新;因此考虑到这一点,我们将创建一个队列每一次加入距离被更新的结点。而SPFA便是其的优化。

2024-03-24 20:48:42 445 1

原创 线段树的简单应用

线段树是算法竞赛中常用的用来维护的数据结构。线段树可以在O(Log N )的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。

2024-03-17 16:29:25 475 1

原创 ST 算法

这玩意适用于RMQ问题(区间最值问题),可以做到O(nlogn)的预处理O(1)的查询速度。

2024-03-07 16:31:08 405

原创 LIS类问题思路

我们先从第一个元素开始,此时LIS为1,那么我们进行加入下一个元素的操作,此时我们会考虑2种情况,第一:该元素大于等于2,那么此时的LIS为2. 第二:如果该元素小于3,那么LIS依然为1,不过元素是2个,那再加上下一个,看能不能找出一点猫腻,此时的元素有3个:3 1 2,此时的LIS为2疑问:为何?答:1比2小,如果我们换一个思路,逆着思考,以某元素结尾的的LIS为多少,那么便好解释了,2是接在以1为末尾的LIS,因为2大于1,所以LIS长度可以加上1。

2024-02-21 21:25:00 406

原创 快速幂求逆元

关于求逆元,实际上就是数论上费马小引理和扩展欧几里得算法的运用,当被求质数的逆元时,用的是费马小引理,该定理实际上和欧拉函数同出一源,因为该定理的前提就是指数为质数。int kuai(int a,int k,int p)//快速幂求a的k次方,在此过程中直接计算%p了,方便。ll ans=1;return ans;cin>>n;cin>>a>>p;else。

2024-02-03 18:33:50 349 1

原创 欧拉函数的推导过程(简单向)

给定任意正整数X,求小于或等于X的正整数中,与X互质的数的个数,而求这些个数的方法即为欧拉函数。设φ(n)为欧拉函数,则其公式为:n可以用若干个质数的幂相乘表示,而X则为质数。

2024-01-14 21:04:30 1627 1

原创 Djkstra解决最短路问题

在提一嘴,如果有多条路到某一点,那么保留最短的那一条便可以了,因为,到终点的距离都是所以最短路组成的。另外,这个算法不能算带有负权边的最短路,可能会算错,因为dijksta更新时是更新未更新的点,已更新点到其他点的距离不会再进行更新了,导致有负数的那条边不会保留,而是会跳过。

2023-12-17 10:08:49 890 1

原创 bfs解决八数码问题

这就是bfs用图来描述,大概就是将每一层的情况遍历一般,判断是否存在某一个点是符合操作的,如果存在,那么就输出当前层数。

2023-12-10 11:21:29 509 1

原创 dfs解决八皇后问题

八皇后问题主要是运用dfs算法去解决,而dfs关键的一定就是要知道哪个位置要记录被搜过,而且要看需不需要恢复现场,有的在树的深搜下是不需要恢复现场的,总而言之,言而总之,要比较熟练地掌握dfs。

2023-12-03 10:19:20 917 1

原创 c++中的高精度算法

虽然这些都有点复杂和蠢,但是对于刚开始接触算法的萌新来说(比如我)还是很好理解的,对于以上的代码,无一不用到了STL里的函数,所以,建议去学习一下STL里的函数,这玩意儿对于写代码还是很好用的。最后,希望本篇文章对您有帮助,虽然很简陋。如果有更好的思路,可以的话希望能提出,毕竟是学术性的交流,虽然作者很弱。。。

2023-11-19 11:14:34 865 1

原创 c语言解决汉诺塔问题

帮助初学者解决汉诺塔问题

2023-11-05 10:19:29 330 1

空空如也

空空如也

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

TA关注的人

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