自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 离散化算法(c++)(自用)

例如,{400,5000,1,3000,200}通过离散化我们将其变为{3,5,1,4,2}.也就是说离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。接下来,进行 m 次询问,每个询问包含两个整数l和r,你需要求出在区间[l, r]之间的所有数的和。由于r和l的范围较大,而n和m的范围较小即为调用的数字较少,所以我们可以将其离散化,缩短数周的空间,将其离散化。我们将l和r的大小范围看成数轴的范围,n和m看成点的坐标。共m行,每行输出一个询问中所求的区间内数字和。

2023-10-11 20:12:30 271 1

原创 树状数组(自用)

例如,索引 6 的二进制表示为 110(从右到左按位编号),那么对应区间的大小为 2,即包括原始数组中的第 6、5 两个元素。其中 sums_[i] 的二进制表示中最低位的 1 对应一个区间的和,而剩下的部分可以用来表示包含第 i 个元素的若干区间的和。在树状数组中,每个索引位置 i 的二进制表示中,最低位的 1 所对应的区间大小就是 i & (-i)。将每个t[x]的x转化为二进制后,我们发现每一层末尾的0的个数相同,0的个数与其覆盖的长度有关。t[x]保存以x为根的子树中叶节点值的和。

2023-10-09 19:50:09 52 1

空空如也

空空如也

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

TA关注的人

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