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

中国建造师官方网站南山高端网站建设

中国建造师官方网站,南山高端网站建设,云南哪里有给做网站的,公司网站建设的目的序列操作 - 题目 - Daimayuan Online Judge 问题描述: 思路:首先想的是第二次操作的y可以将前面所以操作进行抵消,只需要第二次操作的最大值即可。但是发现,对于第一个操作,它是单点修改,每修改一次对于第…

序列操作 - 题目 - Daimayuan Online Judge

问题描述:

image-20230905090248908

思路:首先想的是第二次操作的y可以将前面所以操作进行抵消,只需要第二次操作的最大值即可。但是发现,对于第一个操作,它是单点修改,每修改一次对于第二次操作都是有影响的,导致不能直接用第二次操作的最大值,因为可能在中间的第一次操作中,使其大于或小于y

但是如果将第一次操作的影响去掉就一定可以用最大的第二操作值y来覆盖前面所有。可以知道,对于下标i,无论第一个操作进行了多少次,它的最后结果只跟ma和最后一个y有关。因此,可以将操作q离线操作,倒叙处理。

  • 如果是第二个操作,则更新第二个操作的最大值
  • 如果是第一个操作,由于只用操作一次第一个操作,所以判断是否已经进行过第一次操作,如果进行过,则跳过;否则,则将下标i元素赋为max(ma, y)

具体代码:

void solve() {int n,m; cin>>n>>m;vector<int> a(n + 1);for(int i = 1; i <= n; ++i) cin>>a[i];vector<array<int,3>> ask(m); // opt x yfor(auto &t: ask) {cin>>t[0];if(t[0] == 1) cin>>t[1]>>t[2];else cin>>t[1];}int ma = -INF;vector<int> vis(n + 1), ans(n + 1);for(int i = m-1; i >= 0; --i) {auto ak = ask[i];if(ak[0] == 1 && !vis[ak[1]]) {vis[ak[1]] = 1;ans[ak[1]] = max(ma, ak[2]);}if(ak[0] == 2) ma = max(ma, ak[1]);}for(int i = 1; i <= n; ++i) if(!vis[i]) ans[i] = max(a[i], ma);for(int i = 1; i <= n; ++i) cout<<ans[i]<<" ";
}
http://www.yayakq.cn/news/271054/

相关文章:

  • 怎么搭建一个简单的网站wordpress官方程序下载
  • 没建网站 备案如何建立自己的网站去推广
  • 哪个网站做调查问卷赚钱WordPress开源项目
  • 杭州建设主管部门的网站沧州市青县建设局网站
  • 云龙徐州网站开发私密浏览器免费观看
  • 专业做包装设计网站应用商店下载安装
  • 深圳网站建设主页wordpress素材网
  • 用php开发网站教程青岛 网站科技公司
  • 绍兴seo网站推广定西临洮网站建设
  • 长春教做网站带维护的培训机构北京装修公司口碑排行
  • 做国际网站的流程网站建设创新能力痛点
  • 郑州网站建设外贸电商平台是做什么
  • 个人 邮箱 含网站 域名wordpress如何恢复默认主题
  • 网站与维护做网站哪
  • 四川可以做宣传的网站外贸网站建设推广费用
  • 网站开发交接免费设计logo标志
  • 深圳招聘网站建大网络
  • 咨询学校网站开发费用深圳外包软件开发
  • 哪里做网站好怎样更换网站cms
  • 网站建设培训达内免费高清图片素材网站有哪些
  • 青岛网站建设系统为女朋友做的网站
  • 医院网站建设方案计划书网站开发硬件成本
  • 美食网站的设计与制作代码学网站建设维护
  • 好的网站制作网站免费服务器有哪些
  • 淘宝客单页网站wordpress qq 注册
  • 怎么不花钱建立网站网站建设经验分享
  • 做电影网站多少钱足球直播在线直播观看免费cctv5
  • 正规的合肥网站建设价格外贸手机商城网站建设 深圳
  • 接兼职建设网站wordpress 主题 2016
  • 域名大全免费网站网站建设diy