自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法提高课 -- 10

的一次函数图像方程;同样,方程中A[i]作为斜率一定大于0,因此该函数单调递增,像是任务安排2中那样推导,也是要求结局的最小值,因此用同样的方法写就可以了。这样的形式就很像之前斜率优化前的公式形式了,接下来就是一样的流程,在公式中提取因子将形式变成一次函数图像并利用斜率优化。提高课中DP章节的所有内容到这里就结束了,下一章就是搜索,代码量更多更繁琐,但是理解起来会稍简单一些,祝各位代码常AC~,但是我们采取了更省时间的单调队列写法,原因就在于斜率,因为我们求出的斜率根据题目所给的数据范围。

2024-07-23 21:14:34 323

原创 算法提高课 -- 9

和烽火狼烟唯一的区别就是本题是反过来的,求出最小代价之后用总和减去就是最大效率,注意数据范围过大,要开。的问题,本题的思路分析和上题基本一致,有关本题正确性的证明,大家可以看看这篇。解题思路:闫式DP分析法的完整图像就不在这里画了,简单说一下状态数组的设置;的二维数组,接着在列方向上再做一次同样的操作,就相当于得到了两个。的区间并将区间中最大/小值存入两个数组中,这样就形成了两个。数组的含义都是一样的,主要说两个点:1.二分 2.边界。1.二分枚举的是最长连续不写题目的数量,假设左右边界为。

2024-07-20 22:58:44 570

原创 算法提高课 -- 恨7不成妻详解

本题是数位DP专题中最复杂的一道题,不仅仅是思路难、更重要的是会在数据范围上犯难,这里先把思路解释一下,写代码的时候通过注释解释相关“模”的问题。

2024-07-18 18:02:28 372

原创 算法提高课 -- 8

题目解析:按照给的模板写就行,注意遍历顺序是从最高位到最低位遍历(倒序遍历);上一题代码的last存储的是b进制中1的个数,而本题则存储的是上一位的数字,便于判断不降数;内部操作还是对每一位上的数字进行判断,一种是0~a-1、另一种是a,然后再分支......本节比较难理解,解析会比较繁琐一些,需要大家耐心的看一看,抱歉啦~这个题贼难,思路绕的地方很多,后面我专门写一篇来讲吧,详细一些。这个概念有些细微的差别,刚刚是十进制的,这里是b进制的。这类题的解题思路比较统一,有一个大致的思路,就是。

2024-07-17 22:39:57 396

原创 算法提高课 -- 7

解题思路:和上一题不同的是,我们不仅需要记录下最长和次长值,还需要记录一个从该节点往上蔓延的路线长度;题目解析:本题和第一题几乎一样,区别在于本题所表现的东西很隐晦,需要我们自行找出对应的连结节点关系,将。注:f[i][j - x - 1]中的-1是减去i到j的那一段。建立关系并构造有向图,最终求得该有向图中的直径。题目解析:这就是最简单的树型DP问题,在。1072.树的最长路径。进行状态的构造和转移。1074.二叉苹果树。

2024-07-13 19:34:29 224

原创 算法提高课 -- 6

题目解析:本题相对于前面线性、环形的区间DP,又新增了一项树型区间DP,但区间并不是在树上,而是在题目给予的数组中划分区间并界定其顶点位置进行状态转移。题目解析:下图为实例形式。本题由于数据过大因此需要使用高精度的加法和乘法以及输出函数。解题思路:本题利用到记忆化搜索的方法,状态数组有五维,其含义在注释中有说明。1069.凸多边形的划分。1068.环形石子铺路。

2024-07-12 20:02:08 265

原创 算法提高课 -- 5

【代码】算法提高课 -- 5。

2024-07-09 21:36:43 219

原创 算法提高课 -- 4

再来分析本题,做法是先预处理出题目所给的字符串next数组,然后逆向KMP:枚举密码所有可能的字母(a ~ z)并判断在字符串中当前遍历到位置的字母在密码中对应的字母;这样说有些抽象,对应着刚刚KMP那道题,下面是状态分析图,可以对比一下上一题,代码思路的内核是一样的。注:修改DNA这道题在后面的ac自动机里面再讲,很难...对应练习题 831.KMP字符串。1057.股票买卖IV。1058.股票买卖V。

2024-07-07 22:15:06 145

原创 算法提高课 -- 3

思路:背包问题最基础的思路起点,其本质就是一个组合问题,可以理解为:“在一个集合中选择符合条件的若干,通过状态的转移,得出题目所求的答案”。这里需要注意的是,这里输出的具体方案要求按照字典序输出,因此在正常背包解题步骤中,需要将物品倒叙遍历,这样在最后的输出方案过程中就可以正向输出。思路:由于之前的背包问题外层限制条件只有一个“体积”,二维费用则是有两个限制条件,因此我们需要多嵌套一个循环。思路:完全背包其实可以看作多重背包的一个分支,区别就是在选择数量方面,多重背包是有限个,而完全背包是无限个。

2024-07-06 21:11:45 676

原创 算法提高课 -- 2

根据题意可知,本题的答案可以转化为上升 + 下降的子序列最大和;因此只需要进行两次“最长上升子序列模型”即可。本题题意比较灵活,并没有直接点名所需了解的知识点,而是需要进行一个思维的转换;递增的思路就不再分析了,和之前的一样,只要说一下为什么求最长上升子序列是对的。本题和上一题一样的思路,唯一的不同就是改一下输出;Acwing 1017.怪盗基德的滑翔翼。Acwing 1016.最长上升子序列和。Acwing 272.最长公共上升子序列。Acwing 1012.友好城市。本题只需要将两者结合一下并加一个。

2024-07-05 16:48:13 388

原创 算法提高课 -- 1

Acwing 1018.最低通行费。Acwing 1027.方格取数。Acwing 1015.摘花生。Acwing 275.传纸条。

2024-07-04 14:35:46 90

原创 单源最短路 -- 酋长的聘礼

总结:绝大多数的单源最短路问题都能够通过这三种算法解决,不过重要的是先理解题意再做,不要盲目就套模板,祝各位学算法的兄弟们一路长红^ ^。题目给我们的是交换物品的双方所需要在的一个等级差范围(假设为m),因此每次传入等级差为m的区间就行了,用于在最短路的条件判断中加入。关于等级问题,我们在传入最短路计算函数的参数上做手脚,传入的是一个等级区间。2.Dijkstra算法(朴素/堆优化),缺点就是无法处理边权为负的情形。Floyd算法:基于DP的思路,但。,需要根据题目设定的数据范围来做。

2024-05-27 16:14:38 778

原创 Day.1

排列与组合的回溯算法具体做法分为两个模块:1.确定终止条件2.确立单层循环例1.指数型递归枚举给一个正整数n,从1~n中选择若干个数,输出所有可能。3例2.排列型递归枚举把 1∼n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。

2023-10-14 17:50:31 71 1

原创 C++ ---- 线性DP三道入门必会例题

一、最长上升子序列。

2023-07-18 22:45:47 214 1

原创 C++算法----DFS深搜和BFS广搜

题目的思考过程可能会有很多分支,DFS就是从开头找到条路走到头,如果这条路不对那么就拐回开头找另一条路。从左上角走到右下角,#表示障碍,*表示空地,不碰障碍只能上下左右走,最少需要多少步?核心思想:(1)处理边界情况(2)处理分支情况。(注意bool的T/F处理与还原)”,从开头往下走,同时处理多种情况并往下走,处理的其中一条路达到要求就结束。我们通过实际的例子在分析两者,例如经典的走迷宫问题。核心思想:队列引入。

2023-07-16 23:48:45 81 1

原创 并查集----基础用法

并查集的基本用法可以简单可以分为两个:(一)、(二)、这里我们通过做图得到最终的结果大概是这样的:这样查找如果数据很多,就会变得很麻烦,每一次查找祖宗节点都得从下往上依次查找,因此我们先使用一种快捷的方法--这样了话得到的结果就是这样的:这样查询就会方便快捷很多,元素的父节点就是祖宗节点。下面就是以上两者就是我们并查集的基础操作,当然很多题目会把不同其他算法和并查集糅合在一起,比如离散化、位运算、贪心等等,并查集中元素表达的意义也不同。

2023-07-14 21:10:08 104 1

原创 最短Hamilton路----C++代码实现

此时我们有了一定思路,假设k是从i到j中的一个点,这时f[i][j] = min(f[i][j], f[i - {j}][k] + w[k][j]),由于f[i][j]表示。对于任意的 x,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x] 并且 a[x,y]+a[y,z]≥a[x,z]。if ((i >> j) & 1)//(3)如果说j这个点在状态i二进制表示里为1,就是说这个点走过。

2023-07-12 14:50:25 166 2

原创 蒙德里安的梦想--C++代码实现

求把的棋盘分割成若干个的的长方形,有多少种方案。例如当时,共有种方案。当时,共有种方案。

2023-07-11 20:55:05 184 1

动态规划:状态压缩DP - 愤怒的小鸟

以PPT的形式更加清晰明了的解析本题的思路以及代码的形成,本课程设计PPT在本学期算法与设计这门课程的结课作业中,得到老师的较好评价,希望能够帮到大家。

2024-07-09

空空如也

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

TA关注的人

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