当前位置: 首页 > news >正文

P5609 [Ynoi2013] 对数据结构的爱

线段树维护 \(c_i\) 表示最小初值使根据题意经过节点表示区间 \([l,r]\) 过程中共减去 \(i\cdot p\),区间 \([l,r]\) 操作过程中最多减去 \((r-l+1)\cdot p\)

区间合并就是

\[tr_{u,c_{x+y}}=\min\{\max\{tr_{ls,{c_x}},tr_{rs,{c_y}}-sum_{ls}+x\cdot p\}\} \]

,其中 \(x,y\) 的合法条件是,满足初值为 \(tr_{ls,c_x}\) 的最大值即 \(tr_{ls,c_{x+1}}-1\),在操作完 \(ls\) 表示区间后大于等于 \(tr_{rs,c_y}\)\(tr_{ls,c_{x+1}}-1+sum_{ls}-x\cdot p \ge tr_{rs,c_y}\) 等价 \(tr_{ls,c_{x+1}}+sum_{ls}-x\cdot p > tr_{rs,c_y}\)

\(tr_{ls,c_x}\) 即满足左区间减 \(x\cdot p\) 的最小初值,
\(tr_{rs,c_{x+1}}\) 即满足右区间减 \(y\cdot p\) 的最小初值与操作完左区间的值的差值加上满足左区间条件的最小初值 \(tr_{ls,c_x}\)\(tr_{rs,c_y}-(tr_{ls,c_x}+sum_{ls}-x\cdot p)+tr_{ls,c_x}=tr_{rs,c_y}-sum_{ls}+x\cdot p\)

这样的话时间复杂度接近 \(O(qn^2)\)(?)。

\(tr_{ls,c_{x+1}}-1+sum_{ls}-x\cdot p \ge tr_{rs,c_y}\Leftrightarrow tr_{ls,c_{x+1}}-1 \ge tr_{rs,c_y}-sum_{ls}+x\cdot p\Leftrightarrow \max(tr_{ls,c_x},tr_{rs,c_y}-sum_{ls}+x\cdot p)<tr_{ls,c_x+1}\),则 \(\max(tr_{ls,c_x},tr_{rs,c_y}-sum_{ls}+x\cdot p)<\max(tr_{ls,c_{x+1}},tr_{rs,c_{y-1}}-sum_{ls}+(x+1)\cdot p)\) 则对于更新 \(c_{x+y},x\) 取最小值时则更新值最小,所以 \(c_{x+y}\) 只用 \(x,y\) 合法且 \(x\) 最小的状态转移,所以对于 \(x,y\) 的枚举范围只是所有 \(y\) 使得 \(x-1,y\) 不合法但 \(x,y\) 合法即可。

貌似不用证明 \(tr_{ls,c_{x+1}}-1+sum_{ls}-x\cdot p\) 具有单调性,因为 \(tr_{rs,c_y}\) 显然具有单调性,那么对于 任意 \(x\) 合法的 \(y\) 必然是一个前缀,而 \(y\) 只用枚举对于 \(x-1\) 不合法,\(x\) 合法的状态,所以只需从 \(x-1\) 第一个不合法的状态往后枚举即可,所以可以用双指针解决。

时间复杂度 \(O(n\log n+m\log^2n)\)

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
#define max(x,y) (x)>(y)?(x):(y)
#define min(x,y) (x)<(y)?(x):(y)
const int N=1e6+5;int a[N];ll p;
inline ll read(){ll x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();return x*f;
}
struct node{int l,r,lf,rt;ll sum;}tr[N<<2];int tot;ll q[N*30];
inline void pushup(int u){int mid=tr[u].l+tr[u].r>>1;tr[u].sum=tr[u<<1].sum+tr[u<<1|1].sum;for(int i=0,j=0;i<=mid-tr[u].l+1;++i)for((j>tr[u].r-mid?--j:0);j<=tr[u].r-mid;++j){if(q[tr[u<<1].lf+i+1]-i*p+tr[u<<1].sum<=q[tr[u<<1|1].lf+j]){--j;break;}q[tr[u].lf+i+j]=max(q[tr[u<<1].lf+i],q[tr[u<<1|1].lf+j]+i*p-tr[u<<1].sum);}
}
void build(int u,int l,int r){tr[u]={l,r,0};tr[u].lf=tot+1;for(int i=0;i<=r-l+3;i++)q[++tot]=1e18;tr[u].rt=tot;q[tr[u].lf]=-1e18;if(l==r){q[tr[u].lf+1]=p-a[l],tr[u].sum=a[l];return;}int mid=l+r>>1;build(u<<1,l,mid),build(u<<1|1,mid+1,r);pushup(u);
}
ll query(int u,int l,int r,ll v){if(tr[u].l<l||tr[u].r>r){int mid=tr[u].l+tr[u].r>>1;if(l<=mid)v=query(u<<1,l,r,v);if(r>mid)v=query(u<<1|1,l,r,v);return v;}return v+tr[u].sum-p*(upper_bound(q+tr[u].lf,q+1+tr[u].rt,v)-q-tr[u].lf-1);
}
int main(){int n,m;ll lst=0;n=read(),m=read(),p=read();for(int i=1;i<=n;++i)a[i]=read();build(1,1,n);//cout<<q[tr[1].lf+n]<<endl;while(m--){int l,r;ll x;l=read()^lst,r=read()^lst,x=read()^lst;lst=query(1,l,r,x);printf("%lld\n",lst);lst=(lst%n+n)%n;}return 0;
}
http://www.hskmm.com/?act=detail&tid=32108

相关文章:

  • 剪映高级感口播动态文字字幕排版预设标题入场出场动画素材850款
  • JavaScript 中的安全编码:10 个关键实践
  • 2025 年最新推荐!国内优质球墨铸铁管厂家排行榜,涵盖市政 / 给水 / 水利工程适用产品
  • STM32 代码
  • 2025 年最新冷水机定制厂家排行榜:工业 / 防爆 / 低温 / 水冷 / 螺杆 / 超低温等多类型冷水机优质品牌推荐
  • 2025 年飞机票预定公司最新推荐排行榜:聚焦专业诚信,覆盖特殊旅客与企业服务的口碑榜单
  • 2025 年水质测定仪厂家最新推荐排行榜:解析科技等优质企业实力领衔,助您精准选品多参数/便携式/cod快速/台式水质测定仪厂家推荐
  • 2025 年电永磁吊具厂家最新推荐排行榜:涵盖多类型吊具优质厂家及专业选型参考大型电/全覆盖电/起重电永磁吊具厂家推荐
  • Redis布隆过滤器 Redisson 汇总
  • 2025 年电子散热器厂家推荐:镇江新区富利电子散热器厂,多领域适配与品质服务的可靠之选
  • 高级 RAG 实战:Neo4j 与 LangChain 构建知识图谱驱动的 AI 系统
  • 朴诚乳业携手纷享销客CRM6周实现项目全国推广(附9大核心能力)
  • 2025 年最新推荐 AI 健康管理公司榜单:覆盖多场景,为机构选品提供权威参考
  • 从playfield开源代码复制的opensl es初始化代码
  • 第九届电气、机械与计算机工程国际学术会议(ICEMCE 2025)
  • 2025 年螺带混合机优质厂家最新推荐排行榜:聚焦综合实力、产品性能与服务质量的权威筛选榜单
  • P2151 HH 去散步
  • 2025年钢结构建材厂家最新推荐排行榜,彩钢瓦,镀锌板,折弯件,C型钢,Z型钢,压型瓦,楼承板,钢结构安装,次檩条公司推荐
  • 2025年发电机组厂家最新权威推荐榜:柴油/燃气/船用/静音箱式/移动拖车/集装箱发电机组,上柴/玉柴/潍柴/康明斯/沃尔沃/道依茨/帕金斯/MTU品牌全覆盖
  • 2025年铣刀厂家最新权威推荐榜:雕刻机铣刀/金刚石铣刀/木工铣刀/绝缘材料铣刀/碳纤维铣刀/亚克力铣刀/金属加工铣刀/铝合金铣刀/石墨铣刀/不锈钢铣刀/金属切削铣刀/电木铣刀/塑胶铣刀/PC铣刀
  • 2025年下半年权威信息公布:西安学区房/书包房/五大名校/交大书包新楼盘口碑推荐榜前十强出炉,高得房率/推荐好房/地铁口/小高层/低总价/低单价/高性价比/高赠送/四代宅
  • 第六届大数据、人工智能与物联网工程国际会议(ICBAIE 2025)
  • .NET 10中GC(垃圾收集器)更新
  • 【转】扫盲:Windows桌面应用开发框架:原生、跨平台、云桌面
  • vxe-table v4版本使用注意事项
  • ​​电容瞬态放电原理:大电流的产生机制深度解析​
  • Chrome浏览器离线版下载,谷歌(Google)浏览器离线安装包下载,手机版,Mac版,window版都有,不上网也可以安装
  • 基于Java+Springboot+Vue开发的在线摄影预约管理系统源码+运行步骤
  • 2025 年超微粉碎机厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 若干树形dpの总结