自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 #算法 蓝桥杯 更小的数

首先我们判断的条件很简单,就是这个字符串的两头之间数字比大小,如果两个大小相等的话,我们就可以再比较去掉两头的,里面的字符串两头的大小,这时候我们dp的规则就已经出来了,首先dp[i][j]代表的是这个字符串的第i位与第j位能否互换,如果互换,就是1.所以dp[i][j]=dp[i+1][[j-1];(这是在确保i与j之间差距大于1的时候才能够实现的递归)。具体详细的看代码即可。

2024-03-01 21:41:04 539 1

原创 #算法 蓝桥杯2.24算法赛

因为除了第一位数字,我们应当用两次变换就能够将这个数字变成正数(现变换到前面的数字,在变换当前的数字)。但是这样的话,理论来讲,有n个数字,我们应当需要2n-1次变换,这和题目所说的n次变换不同啊。关键就是在于,如果有一段连续的负数的话,我们只需要变换这组负数的前面一个数字和最后一个数字即可,也只需要两次。也就是说,最复杂的情况,应该是正负数交叉出现,在这种情况下的最复杂的情况是需要n次就可以(具体的情况需要根据n的奇偶来定,劳烦大家自己分析即可)。

2024-02-25 00:16:16 300

原创 #算法 动态规划 查找最长的上升子序列问题

很容易推算出来dp[i]=max(dp[i],dp[j]+1),这里需要满足的前置要求为p[j]<p[i],也就是第j个数字要小于新加入的数字才能够执行(原因就是在于上面说的,以第i个为结尾)。这里的输出方法,首先找到最大的dp[i],然后通过倒叙的方法,依次找他的前一个子序列,判定的方法是找到的数要小于上一个数,而且对应的dp的值刚好是上一个数对应的dp值-1,然后进行输出就好。思路在于dp[i]表示的是以第i个为结尾的子序列的长度,注意是以第i个为结尾,而不是在i之前任意子序列的最长长度。

2024-02-22 20:20:10 319 1

原创 #算法 完全背包问题

完全背包问题可以先计算出每个物品的性价比,进行降序排列,性价比最高的最先最多选择,其次就是性价比第二高的,依次向下类推就好(贪心)完全背包问题和背包问题感觉不太一样,一个是运贪心,另一个是运用动态规划就好。因为是结构体,所以sort的用法不同于平常数组的用法。

2024-02-21 20:46:13 313

原创 经典的背包问题

涉及到动态规划,以及没听说过的memset,用于赋值还是很有帮助的。

2024-02-21 20:09:39 301

原创 记录学习算法上的小问题和小技巧

今天的问题在于高精计算大数的加和乘积的时候,string转换成int类型的时候没有进行正确的转换导致总是算不对。转换的时候注意后面要加上-‘0’

2024-02-02 21:15:44 485

原创 记录学习算法路上的一些小问题和注意事项

今天在做洛谷奶牛问题(P2676 [USACO07DEC] Bookshelf B)时候一直没法通过,原来是忘记了sort排序是按照升序排序的方法进行的,想要将许排序需要增加greater<int>()参数。

2023-12-17 21:57:44 457

空空如也

空空如也

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

TA关注的人

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