洛谷P8421 [THUPC 2022 决赛] rsraogps

news/2025/10/5 8:18:13/文章来源:https://www.cnblogs.com/OrangeRED/p/19126228

洛谷P8421 [THUPC 2022 决赛] rsraogps

P8421 [THUPC 2022 决赛] rsraogps - 洛谷

因为从一个点最多会变化 \(\log V\) 次(这三种操作都是这样),考虑扫描线,这样每次更新前面答案贡献时,就有可能做到 \(\log V\) 的时复。

我们将答案拆成前缀和的形式:考虑扫描线到了 \(j\)\(s_i\) 表示满足 \(l\le i,l \le r \le j\),这样,答案被拆成了 \(s_j - s_{l-1}\)(扫描线 \(j=r\))。

考虑扫描线 \(r \to r+1\),改变了什么。

定义 \(A_{l,r},B_{l,r},C_{l,r}\) 表示区间的与、或、最大公约数。

\(s_i\) 会增加 \(\sum_{j=1}^i [j,r+1]\) 的区间贡献,我们注意到对于一段区间 \([j,r] \to [j,r+1]\) 如果其 \(A,B,C\) 的值均不变,那么对于 \([j,r-1],[j,r],[j,r+1]\) 之间增加的值是相同的,即 \(A\times B \times C\)

如果其 \(A,B,C\) 任意一个改变了,那么从 \(r\) 向左直到 \(A,B,C\) 均不再改变,先增加之前的 \(s_i\),然后打上新的增加值 \(add_i\)

最后,对于 \(\sum_{j=1}^i [j,r+1]\) 的值,即 \(add_i\),为 \(a,b,c\) 的一段前缀和。

\(\Large \mathscr{Code}\)

#include<bits/stdc++.h>
#define int unsigned
using namespace std;
const int N = 1e6+100;
int n,m,a[N],b[N],c[N],val[N],add[N],nt[N],T,ans[N*5];
vector<pair<int,int>> scan[N];
int query(int x){return val[x] + add[x]*(T-nt[x]);
}
signed main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n>>m;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++) cin>>b[i];for(int i=1;i<=n;i++) cin>>c[i];for(int i=1;i<=m;i++){int l,r;cin>>l>>r;scan[r].push_back({l,i});}for(int i=1;i<=n;i++){int tmp = i-1;while(tmp){int x = a[tmp]&a[tmp+1],y = b[tmp]|b[tmp+1],z = __gcd(c[tmp],c[tmp+1]);if(x==a[tmp] && y==b[tmp] && z==c[tmp]) break;a[tmp] = x,b[tmp] = y,c[tmp] = z;tmp--;}val[i] = query(i-1);for(int j=tmp+1;j<=i;j++){val[j] = query(j);nt[j] = T;add[j] = add[j-1]+a[j]*b[j]*c[j];}T++;for(auto e:scan[i]) ans[e.second] = query(i)-query(e.first-1);}for(int i=1;i<=m;i++) cout<<ans[i]<<'\n';return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正规的网站建设专业公司学校微网站模板下载地址

原文&#xff1a;https://www.toutiao.com/i6855460778359816715/平台&#xff1a;头条作者&#xff1a;程序员不就是0和1一、 备份恢复策略进行备份或恢复操作时需要考虑一些因素&#xff1a;1、确定要备份的表的存储引擎是事务型还是非事务型&#xff0c;两种不同的存储引擎备…

实用指南:流媒体基础解析:音视频封装格式与传输协议

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站友链展示设计图片

模板的使用 1.如何使用模板 在manage.py的同级文件夹中创建templates在setting.py的文件中把第58行DIRS: [ ],改成DIRS: [os.path.join(BASE_DIR,templates)], 知识点: os.path.join(BASE_DIR,templates) 拼接两个字符串 BASE_DIR找到项目根目录127.0.0.1:8000/myadmin/templ…

校园网站建设资金来源有南阳做网站优化公司

文章目录 k8s 部署yapi平台前言准备工作构建yapi镜像Dockerfileentrypoint.shbuild.sh源码下载构建镜像启动mongo数据库新建nfs服务mongo创建mongo服务初始化数据启动yapi服务创建yapi服务查看密码访问地址k8s 部署yapi平台 前言 部署yapi平台需要mo

Differential Equations (Smita Sood) Notes

Separable Differential Equations \[\frac{{\rm d}y}{{\rm d}x}=\frac{f(x)}{g(y)},g(y)\ne0 \]Solution \[\begin{align} \frac{{\rm d}y}{{\rm d}x}=\frac{f(x)}{g(y)}&\Longleftrightarrow g(y)\frac{{\rm d}y…

《前端面试题:BFC(块级格式化上下文)》 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

NLP学习路线图(十四):词袋模型(Bag of Words) - 详解

NLP学习路线图(十四):词袋模型(Bag of Words) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

实用指南:苍茫命令行:linux模拟实现,书写微型bash

实用指南:苍茫命令行:linux模拟实现,书写微型bashpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&quo…

营销型网站策划建设wordpress 转换 织梦

百科词条创建上去是相当不易的&#xff0c;同时修改也是如此&#xff0c;一般情况下&#xff0c;百科词条是不需要修改的&#xff0c;但是很多时候企业或是人物在近期收获了更多成就或是有更多的变动&#xff0c;这个时候就需要补充维护词条了&#xff0c;如何修改百科内容&…

微信餐饮微网站建设重庆网站建立

Kafka 1.基于Pull的模式来处理消息消费 2.追求高吞吐量 3.一开始的目的就是日志收集和传输 4.0.8版本开始支持复制&#xff0c;不支持事务&#xff0c;对消息的重复、丢失、错误没有严格要求、适合产生大量数据的互联网服务的数据收集业务. RabbitMQ RabbitMQ是使用Erlang语…

品牌网站建设9小蝌蚪9a广州天河区做网站

视频监控技术从传统监控到智能化升级的过程是一个技术革新和应用场景拓展的过程。智能视频监控系统通过集成AI和机器学习算法&#xff0c;能够实现行为分析、人脸识别和异常事件检测等功能&#xff0c;提升了监控的准确性和响应速度。这些系统不仅用于传统的安全防护&#xff0…

公司网站建设费怎么入账deppt模板网

一、简介 股票上涨和下跌,创造出像海浪一样难以预测的模式和走势。然而,就像科学家通过了解下面的水流来预测波浪的运动一样,我们也可以使用类似的工具破译股票市场的一些模式。 通过利用小波变换的力量,我们深入表面,试图揭示驱动股价的深层原因。这段旅程不仅仅涉及数字…

微信群公告如何做网站链接工商注册流程和需要的资料

WP中获取POST有两个主要函数&#xff0c;Get_post()和Get_Posts()。一个是获取单文章&#xff0c;另外一个是获取多文章&#xff0c;其中&#xff0c;官网对Get_posts()函数的描述很简单。但有的时候描述越简单的函数&#xff0c;使用起来却并没有那么简单。下面我通过一个案例…

CF2149题解

A. Be Positivecode #include<bits/stdc++.h> using namespace std; const int NN = 1e4; int T; int n,a[NN]; int cnt1,cnt2; void solve(){cnt1 = cnt2 = 0;cin >> n;for(int i = 1; i <= n; ++i){c…

教育网站建设改版湘潭做网站 z磐石网络

网站爬虫&#xff08;Web Scrapers&#xff09;是一种自动化工具&#xff0c;用于抓取网页上的数据。虽然合法的搜索引擎爬虫有助于提升网站的可见度&#xff0c;但恶意爬虫可能带来数据盗窃、版权侵犯等问题&#xff0c;甚至造成服务器过载。本文将探讨如何有效预防网站受到恶…

网站建设 企业文化东莞南城网站开发公司

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System

经营地址怎么在国税网站做更改网线水晶头制作过程

最近在看深入理解计算机系统这本书&#xff0c;上面提到了在32位机器和64机器中int类型都占用4个字节。后来&#xff0c;查了The C Programming language这本书&#xff0c;里面有一句话是这样的&#xff1a;Each compiler is free to choose appropriate sizes for its own ha…

咸阳做网站的公司网络有限公司简介

使用命令下载&#xff1a;参考&#xff1a;解决nvidia-smi报错&#xff1a;NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.-CSDN博客

2025 年压滤机厂家最新推荐排行榜:隔膜压滤机,污泥压滤机,真空压滤机,板框压滤机,带式压滤机优质企业权威评选及选购指南

在工业固液分离领域持续升级的当下,压滤机作为核心设备,已深度渗透化工、矿山、环保等多元场景,隔膜、污泥、真空等细分类型设备的性能需求愈发差异化。然而当前市场品牌繁杂,产品在过滤精度、能耗控制、适配性等方…

浙江网站开发网络营销方式举例

文章目录一、环境准备1. 安装node2. 配置镜像二、安装Vue CLI2.1. 查看当前vuecli版本2.2. 安装最新版本2.3. 安装指定版本三、创建web项目3.1. 指定创建的项目名称3.2. 安装序列图3.3. 安装序列图简述一、环境准备 声明&#xff1a;命令均在在cmd窗口执行 1. 安装node 2. 配置…