自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 树状数组学习总结

例:lowbit(1) = 1 , lowbit(2)= 2 , lowbit(3) = 1 , lowbit(4)= 4。我们只要一直加前面子树的总和即可,而我们可用n - lowbit(n)跟踪前面子树的位置。其中,c[n]记录 n - lowbit(n) +1 ~ n 的格子之和。然后,我们可以利用lowbit(n)来表示以n为根节点的子树的叶子节点的个数,那么,当我们Cn时,我们要继续把后面的C[n+lowbit(n)]也更新。假如我们要将第二格的格子+2,那么会影响C[2] , C[4]。

2023-11-15 11:48:05 21 1

原创 [洛谷]P2014选课

树状dp和普通dp有何区别呢?其实树状dp就是在一棵树上进行背包问题。因为在题目中多了前后级关系(即先做……),所以我们才要用树的结构类型。应该选择后序遍历,因为后序遍历可以让最后的答案存储在根节点处。(2)存在多棵树:因为如果没有上一级的话会把上一级写作0,所以我们可以把0当作第一级,把几棵树当作0的子树?(3)树的遍历:到底是选择先序遍历还是后序遍历。题目分析:这道题就是一道非常经典的树状dp。(1)树的存储:前向星。

2023-11-06 14:49:16 26

原创 LIS解题反思(贪心+二分答案)

因为选3时,当后面的数字只要大于3我们便可得n+1长度的子序列,相反,选5时后面的数字得大于5才可得n+1长度的子序列。然后,在处理第二种情况时,我们可以很明显地发现dp是一个单调递增的数列,那么我们就可以用二分答案来找到尽可能小的j。那么,我们现在便可以得到一个贪心的方法:我们尽可能地去更新子序列长度为i的序列的结尾的数字,使得该数字尽可能的小。如果a[i] > 目前最长子序列末尾的数,将a[i]添加到该序列末尾,更新最长子序列长度。用dp[i]储存子序列长度为i的序列的结尾的数字。

2023-10-18 11:12:33 50 1

原创 【洛谷】通往奥格瑞玛的道路 解题思路(dijkstra堆优化+二分)及个人反思

那么我们可以先假定最高消费,然后使超过最高消费城市不得通行,在此基础上进行dijkstra操作,来判断此为最高消费时可不可走到终点。若我们按模板进行操作,仅对sin进行dijkstra操作,那么只能保证到达终点的生命值sin损耗最少,而不能保证经过的城市中一次最高消费最小。答案是可以的,对于生命值sin,肯定是到达终点时的损耗越少越好嘛,若仅对于sin,是可以进行dijkstra操作处理的。

2023-10-08 22:05:22 63 2

原创 dijkstra堆优化程序及链式前向星储存有向图模拟

/将更新之后的子节点的dis存入q中找最小。} //重载运算符来构建小顶堆 ,如果要构建维护大顶堆那么改为 return this->dis < x.dis即可。i=e[i].next) // i指的是第几条路。//dis记载路径赋值,to表示子节点,next表示前一个兄弟节点。//x.now指的是现在在处理的点的坐标。// 链式前向星储存有向图。

2023-10-07 19:10:19 50 1

空空如也

空空如也

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

TA关注的人

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