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

P14003 [eJOI 2025] Reactions 解题报告

题目意思

随便找的题目,树状数组和离散化,很板子的东西不会细说

给定两个数组 \(D_i,T_i\),求 \(\max\limits_{i=1}^{n}{(\sum\limits_{j=i}^n[\sum\limits_{k=i}^jD_k \ge T_j])}\)

思路

首先如果你将上面那个式子分解或者稍稍理解一下就能想到将区间加和,区间问题转化为单点问题,即使用前缀和,这样就变成了对于每一个 \(i\) 求有多少个 \(j\) 满足 \(j\ge i,Sum_j-Sum_{i-1}\ge T_j\) 其中 \(Sum\) 是前缀和数组

稍稍移项,变成 \(Sum_j-T_j\ge Sum_{i-1}\),接下来就是很板子的东西了,直接上一个离散化把每个数的这两项离散化掉,然后发现要求 \(j\ge i\),所以从后往前扫,每一次使用树状数组单点加不等式前面的东西,然后树状数组访问后面的东西即可,时间复杂度 \(O(n\log_2n)\)

代码

#include<algorithm>
#include<iostream>
#include<cstring>
#include<climits>
#include<cmath>
#include<vector>
#define ll long longusing namespace std;
const ll M=1e6+9;
ll sum[M],n,la[M],cnt,a[M],b[M]; struct SGT{#define lowbit(x) (x&(-x))ll tr[M<<2];inline void change(ll x){for(;x<=cnt;x+=lowbit(x))tr[x]++;}inline ll query(ll x){ll ans=0;for(;x;x-=lowbit(x))ans+=tr[x];return ans; }
}seg;ll reactions(int N, std::vector<int> G, std::vector<long long> T);
ll reactions(int N, std::vector<int> G, std::vector<long long> T){vector<ll> D;for(int i=0;i<N;i++){if(i>0) D.push_back(D[i-1]+G[i]);else D.push_back(G[i]);}for(int i=0;i<N;i++){if(i==0){la[++cnt]=0;la[++cnt]=D[i]-T[i];continue;}la[++cnt]=D[i-1];la[++cnt]=D[i]-T[i];}sort(la+1,la+cnt+1);cnt=unique(la+1,la+cnt+1)-la-1;for(int i=1;i<N;i++){//a[i] for query,b[i] for changea[i]=lower_bound(la+1,la+cnt+1,D[i-1])-la;b[i]=lower_bound(la+1,la+cnt+1,D[i]-T[i])-la;}ll ans=0,pos0=lower_bound(la+1,la+cnt+1,0)-la;a[0]=pos0;b[0]=lower_bound(la+1,la+cnt+1,D[0]-T[0])-la;for(int i=N-1;i>=0;i--){seg.change(cnt-b[i]+1);if(i!=0)ans=max(ans,seg.query(cnt-a[i]+1));else ans=max(ans,seg.query(cnt-pos0+1));}return ans;
}
http://www.sczhlp.com/news/108834/

相关文章:

  • 计算机科学入门
  • 网站建设技术部奖惩制度珠海网站制作专业
  • 青海建设厅质检站网站做网站送给女友意义
  • 专业营销型网站建设费用网站建设结构方案
  • 网站的主机选择广州网站seo地址
  • 东城东莞网站建设网站建设医药
  • 2024免费网站推广大全网站建设哪家比较专业
  • 网站access数据怎么做做网站课程
  • 做网站直播平台域名注册哪个网站好
  • c2c的平台有哪些seo公司网站
  • ppt代做网站外贸知识
  • 天津住房与城乡建设部网站frontpage建设网站的图片
  • 响应式网站导航栏模板做哪些网站比较好的
  • 云南高端网站建设公司黑龙江城乡建设厅官网
  • 百度怎么开户做网站网站建设补贴
  • Windows Server 2019开启远程桌面无法远程处理
  • 网站备案内容wordpress代码主题
  • 网站前端设计是什么万网域名解析
  • 深圳营销型网站建设案例花桥网站制作
  • 购物网站界面设计欣赏做花馍网站
  • dw做的网站怎么去掉wordpress 用户 id
  • iis 网站压缩电影院订票网站开发
  • 聊城定制型网站开发网站建设公司现在还挣钱吗
  • 做网站域名哪里来wordpress安装无法登录
  • 快速提高网站排名网站搭建的
  • 做网站设计软件郴州网页
  • 一位华裔数学家40年目睹之怪现状:美国学生的数学为什么那么差?
  • 网站连接微信支付网站适合移动端
  • 校园网站建设材料徐州飞虹网架公司
  • 阜宁网站制作具体报价优化什么建立生育支持