自定义博客皮肤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)
  • 收藏
  • 关注

原创 图论(1)

2025-10-24 22:53:54 167

原创 DP(1)——线性DP

维护一个单调递增栈(上面最小,下面最大):如果a[i]小于栈顶,入栈;否则,二分查找,找到第一个小于他的位置,替换之(因为前面的数越大,后面就可能可以加更多的数)注意,如果我们设dp[i]表示前i个数中最长不升子序列的长度,会发现不好讨论第i个数字选还是不选。题意简化:1、求最长不升子序列长度2、求最长上升子序列长度(这个可以多想一下)就会解决这个问题,当然我们这样设置dp数组,就要在过程中找到max值。很显然这是O(n²)级别的复杂度,那么过不了,考虑O(nlogn)优化。看到n的范围是10^5,想到。

2025-10-20 19:46:23 192

原创 DP(3)——区间DP

①dp数组设置:dp[i][j]表示从第i堆石子合并到第j堆石子的代价②状态转移的本质:小区间最优解——>大区间最优解,将i到j划分为dp[i][j]和dp[j+1][ends],并通过sum数组进行转移。

2025-10-11 17:05:07 230

原创 DP(2)——背包问题

其实这个题很简单,但是我第一次碰到完全背包问题(也就是每个物品的数量是无限的),其实思路和我一模一样,代码实现第一次见到|=,值得一品。这个状态转移,就相当于不断地用前面可以表示的金额,更新后面的数值。用第一个样例打个表,就很清晰的知道什么意思了。dp[j]表示j金额能否用前面的金额表示。

2025-10-07 17:11:49 581

原创 关于算法竞赛个人能力的提升

对照noi大纲,优先掌握入门组和提高组的知识。目标是省赛金牌的:进行掌握NOI级别的算法。每个知识点可以选择在洛谷里面找黄/橙的题目练习,明白模板应该怎么用提示:最好不要写太多简单题目,一是对自己水平的提高有限,而且浪费大量时间,二是形成了假努力,牺牲了很多效率大概是2-3天掌握一个新的算法,我个人觉得2-3天写完这个洛谷里面的题单还是不现实,也不太有性价比的,所以还是根据难度选择几个题练一下手为主,如果以后碰到没见过的算法科技再点也不差。

2025-10-05 11:49:25 299

原创 DP(1)——引入

1:dfs时间复杂度太高了,是2的n次方,那么明显要进行2的n+m次方,也就是2的40次方,约为1e12,肯定爆了。细节:1.特殊点(每次都恰好买第i件)的时候,直接自增dp[i][a[i]],不然样例的dp[2][1]就没有增加。因为dp不能影响下一步,而这个题目只能往下面和右边走,所以不会有所谓的“后效性”,所以还是可以用dp的。细节:1.最好把坐标+2,防止越界。2.初始化不能初始dp[2][2](吃了个很大的亏,太蠢了。而相对于dfs,dp做的是记录每一个小状态的值,所以实际是n²的级别。

2025-10-02 22:38:03 423

原创 倍增法求LCA——day4——2025.9.25

3.关键的lca算法:1.如果u的深度>v的深度,通过f[u][i]让u往上跳,直到相等 2.深度相同之后,u和v一起往上跳,直到跳到f[u][0]2.预处理f数组,f[i][j]表示节点i往上跳2的j次后到的节点,状态转移方程就是。代码实现的关键:1.通过根结点dfs,维护每个点和父节点,同时得到深度。核心就是一个性质:如果u和v深度相同,那么他们到LCA的距离一定相同。

2025-09-25 00:09:17 127

原创 day3——2025.9.23

不是很理解这个P3865的st表模板为什么我的代码还是过不了,如果有大佬知道麻烦告诉一下。

2025-09-23 11:17:49 219

原创 算法刷题day2——2025.9.22

一个比较水的最小树变式,主要就是把矩阵转换成图(应该还是蛮好想的),以及一个价格判断(因为题目说了kij可能会>原来的价格),做完之后我看题解,发现有人就是被这个点卡住了,所以做个价格判断,如果kij不能起到减少总价格的作用,就不存这个边。本来希望的是每天做三个题,但是舍友有点吵,而且是到了一个完全不会的LCA问题+kruskal最小树,所以现在开始看LCA问题,然后发现st表也不会啊哈哈哈哈,所以开始学,明天看看能不能学会。笑不活了,第一次碰到这样的问题,cs一次性加了3次,哈哈哈哈。

2025-09-22 22:59:32 133

原创 算法刷题day1——2025.9.21

简单的kruskal模板题,但是代码风格在看了题解之后得到了提高,一开始是用的vector嵌套两个pair维护的最小生成树,后来选择了struct,发现确实很节省空间,而且简化了并查集的find和merger函数。第一天记录,如果有大神有更好的建议,或者是对算法学习的经验分享,本人感激不尽!今天因为刚和老爸老妈爬完泰山,刚回到学校,因此只开始第一题。目前计划是每天高效刷3道题,把算法变成兴趣和热爱。这个cnt的用法还是蛮好的!

2025-09-21 23:03:55 135

空空如也

空空如也

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

TA关注的人

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