- 博客(4)
- 收藏
- 关注
原创 RMQ问题ST算法,一本通1541.例1.数列区间最大值(模版题)
f数组运用了动态规划的思想,即区间最大值为左右两区间最大值的较大值得状态转移方程: f[i][j]=max(f[i][j-1],f[i+(1<<j-1)][j-1]) (表示a[i]到a[i+2^j-1]内的最大值)log[i]=log[i>>1]+1;log数组 通过log[i]=log[i>>1]+1计算(通过简单的对数计算即可证该式 )for(int i=1;i++)//预处理log值。ST算法相对于线段树而言更易实现,且在极值问题上效率更高。预处理先处理log数组的值(1-n),再处理f数组。
2024-08-10 21:17:53 181
原创 树状数组单点修改区间查询,区间修改单点查询,一本通1547区间和(树状数组做法)
/利用差分数列对于树状数组进行区间修改单点查询。//一本通1547区间和树状数组做法。//树状数组单点修改区间查询。
2024-08-09 09:54:45 184
原创 线段树标记永久化(区间修改区间查询模板)
void modify(int k,int l,int r,int x,int y,int v)//当前编号,与范围,需要修改的区间和值。int query(int k,int l,int r,int x,int y)//查询。
2024-08-09 09:51:02 66
原创 线段树模版(单点修改,区间查询),例1.1547区间和
void change(int k,int l,int r,int x,int v)//x为修改值的位置,v为要修改为的值。void build(int k,int l,int r)//k为当前节点,l,r为当前节点所代表的区间。
2024-08-09 09:48:03 413 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人