201709CSPT5除法

题意:有一个长度为 n n n的序列,对其有 m m m个操作:
1 : 对 [ L , R ] 1:对[L,R] 1:[L,R]之间所有 v v v的倍数除以 v v v
2 : 对 [ L , R ] 2:对[L,R] 2:[L,R]之间所有求和

#include<bits/stdc++.h>
using namespace std;
struct node
{long long l,r,sum;int maxx;
}t[400010];
int a[100010];
int n,m;
void build(int p,int l,int r)
{t[p].l=l;t[p].r=r;if(l==r){t[p].sum=a[l];t[p].maxx=a[l];return ;}int mid=(l+r)>>1;build(p*2,l,mid);build(p*2+1,mid+1,r);t[p].sum=t[p*2].sum+t[p*2+1].sum;t[p].maxx=max(t[p*2].maxx,t[p*2+1].maxx);
}
void change(int p,int l,int r,int k)
{if(t[p].maxx<=1)return ;if(t[p].l==t[p].r){if(t[p].maxx%k!=0)return ;else{t[p].maxx=t[p].maxx/k;t[p].sum=t[p].maxx;return ;}	}int mid=(t[p].l+t[p].r)>>1;if(l<=mid)change(p*2,l,r,k);if(mid<r)change(p*2+1,l,r,k);t[p].sum=t[p*2].sum+t[p*2+1].sum;t[p].maxx=max(t[p*2].maxx,t[p*2+1].maxx);
}
long long ask(int p,int l,int r)
{if(t[p].r<l||t[p].l>r)return 0;if(t[p].l>=l&&t[p].r<=r)return t[p].sum;int mid=(t[p].l+t[p].r)>>1;long long val=0;if(l<=mid)val+=ask(p*2,l,r);if(mid<r)val+=ask(p*2+1,l,r);return val;
}
int main()
{cin>>n>>m;for(int i=1;i<=n;i++)cin>>a[i];build(1,1,n);for(int i=1;i<=m;i++){int x,l,r,v;cin>>x;if(x==1){cin>>l>>r>>v;if(v==1)continue;change(1,l,r,v);}if(x==2){cin>>l>>r;long long ans=ask(1,l,r);cout<<ans<<endl;}}return 0;
}

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

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

相关文章

笔记本选购配置参数详解

笔记本电脑的选购是一个技术活&#xff0c;涉及到众多的配置参数。本文将为您详细解析笔记本电脑的主要配置参数&#xff0c;帮助您在选购时做出明智的决策。 1. 处理器&#xff08;CPU&#xff09; 处理器是笔记本电脑的核心组件&#xff0c;负责执行计算任务…

单页404源码

<!doctype html> <html> <head> <meta charset"utf-8"> <title>简约 404错误页</title><link rel"shortcut icon" href"./favicon.png"><style> import url("https://fonts.googleapis.co…

SVD奇异值分解

一、奇异值 奇异值&#xff08;Singular Values&#xff09;是线性代数中矩阵的重要性质之一&#xff0c;与奇异值分解&#xff08;SVD&#xff09;密切相关。让我们来更详细地了解一下奇异值的概念&#xff1a; 定义&#xff1a; 对于一个矩阵 ( A )&#xff0c;它的奇异值是…

夜天之书 #95 GreptimeDB 社群观察报告

GreptimeDB 是格睿科技&#xff08;Greptime&#xff09;公司研发的一款开源时序数据库&#xff0c;其源代码[1]在 GitHub 平台公开发布。 https://github.com/GreptimeTeam/greptimedb 我从 2022 年开始知道有 GreptimeDB 这个项目。2023 年&#xff0c;我注意到他们的 Commun…

django中的复杂查询

在Django中执行复杂查询通常涉及使用Django的查询API&#xff08;Query API&#xff09;来构建强大的、可链式调用的查询。这些查询可以包含过滤、排序、聚合、注解&#xff08;annotations&#xff09;、分组&#xff08;grouping&#xff09;以及子查询等。以下是一些在Djang…

Blazor OIDC 单点登录授权实例5 - 独立SSR App (net8 webapp ) 端授权

目录: OpenID 与 OAuth2 基础知识Blazor wasm Google 登录Blazor wasm Gitee 码云登录Blazor OIDC 单点登录授权实例1-建立和配置IDS身份验证服务Blazor OIDC 单点登录授权实例2-登录信息组件wasmBlazor OIDC 单点登录授权实例3-服务端管理组件Blazor OIDC 单点登录授权实例4 …

在线问诊系统设计与实现的经验总结与整理

随着互联网技术的快速发展&#xff0c;在线问诊服务作为一种新兴的医疗服务模式&#xff0c;正逐渐受到人们的关注和使用。本文将介绍在线问诊系统的设计原则和关键组件&#xff0c;以及如何实现一个安全、高效和可扩展的在线医疗服务平台。 内容&#xff1a; 1. 引言 - 在…

团队配置管理规范浅见

在一段时间的工作过程中配置管理工作确实对我们的生产活动产生了巨大的工作量&#xff0c;现在就这个工作来进行梳理一下。 本文主要分为两部分&#xff1a; 1、借用软件系统分析师的配置管理部分内容来介绍配置管理的工作&#xff08;原谅时间精力有限&#xff0c;原文基本已…

Qt窗口坐标体系

通过以上代码可以看出Qt的坐标体系。 以左上角为原点&#xff08;0,0&#xff09;&#xff0c;以向右的方向为x轴的正方向&#xff0c;以向下方向为y轴的正方向。 对于嵌套窗口&#xff0c;其坐标是相对于父窗口来说的。顶层窗口的父窗口就是屏幕。

day 20(补2.5)

fread 函数&#xff1a; 今日练习 C语言面试题5道~ 1. static 有什么用途&#xff1f;&#xff08;请至少说明两种&#xff09; 1) 限制变量的作用域 2) 设置变量的存储域 2. 引用与指针有什么区别&#xff1f; 1) 引用必须被初始化&#xff0c;指针不必。 2) 引用初始…

【Java程序设计】【C00266】基于Springboot的超市进存销管理系统(有论文)

【Java程序设计】【C00266】基于Springboot的超市进存销管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的超市进销存系统 本系统分为登录注册模块、管理员功能模块以及员工功能模块。 登录注册模块&#…

C语言——设 N 是一个四位数,它的 9 倍恰好是其反序数,求 N。反序数就是将整数的数字倒过来形成的整数。例如:1234 的反序数是 4321。

一、题目 设 N 是一个四位数&#xff0c;它的 9 倍恰好是其反序数&#xff0c;求 N。反序数就是将整数的数字倒过来形成的整数。例如:1234 的反序数是 4321。 二、解答 #include <stdio.h>int reverse(int num) {int rev 0;while (num > 0){rev rev * 10 num % 1…

day22 表单及表单应用

文章目录 初识表单、post和get提交文本框和单选框按钮和多选框列表框、文本域和文件域搜索框、滑块和简单验证表单的应用 初识表单、post和get提交 <form method"post" action"result.html"><p>名字&#xff1a;<input name"name"…

《Linux 简易速速上手小册》第8章: 安全性与加固(2024 最新版)

文章目录 8.1 防火墙与安全策略8.1.1 重点基础知识8.1.2 重点案例&#xff1a;配置 iptables 以保护 Web 服务器8.1.3 拓展案例 1&#xff1a;使用 firewalld 配置动态防御区域8.1.4 拓展案例 2&#xff1a;配置 ufw 以简化管理 8.2 SSH 安全最佳实践8.2.1 重点基础知识8.2.2 重…

JAVA设计模式之命令模式详解

命令模式 1 命令模式介绍 命令模式(command pattern)的定义: 命令模式将请求&#xff08;命令&#xff09;封装为一个对象&#xff0c;这样可以使用不同的请求参数化其他对象&#xff08;将不同请求依赖注入到其他对象并且能够支持请求&#xff08;命令&#xff09;的排队执行…

使用 C++23 从零实现 RISC-V 模拟器(3):指令解析

&#x1f449;&#x1f3fb; 文章汇总「从零实现模拟器、操作系统、数据库、编译器…」&#xff1a;https://okaitserrj.feishu.cn/docx/R4tCdkEbsoFGnuxbho4cgW2Yntc 指令解析 这章内容进一解析更多的指令&#xff0c;此外将解析指令的过程拆分为一个单独的类&#xff0c;采…

STM32 寄存器操作 GPIO 与中断

一、如何使用stm32寄存器点灯&#xff1f; 1.1 寄存器映射表 寄存器本质就是一个开关&#xff0c;当我们把芯片寄存器配置指定的状态时即可使用芯片的硬件能力。 寄存器映射表则是开关的地址说明。对于我们希望点亮 GPIO_B 的一个灯来说&#xff0c;需要关注以下的两个寄存器…

【C语言期末项目-通讯录】-升级可动态申请内存版(手把手详细过程,期末评分A+的项目,答辩辅助神博文,建议三连点赞收藏)

目录 ​编辑 前言&#xff1a; 1.项目功能需求分析 2.文件框架说明 3.程序主框架实现 4.创建联系人结构体类型和通讯录结构体类型 4.1创建通讯录 5.程序功能实现--封装功能函数实现不同功能 5.1通讯录初始化 5.2增加联系人 5.3显示所有联系人的信息 5.4删除指定…

【Java EE初阶十二】网络编程TCP/IP协议(二)

1. 关于TCP 1.1 TCP 的socket api tcp的socket api和U大片的socket api差异很大&#xff0c;但是和前面所讲的文件操作很密切的联系 下面主要讲解两个关键的类&#xff1a; 1、ServerSocket&#xff1a;给服务器使用的类&#xff0c;使用这个类来绑定端口号 2、Socket&#xf…

【图论】【树形dp】【深度优先搜索】2538. 最大价值和与最小价值和的差值

作者推荐 【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目 本文涉及知识点 深度优先搜索 LeetCode2538. 最大价值和与最小价值和的差值 给你一个 n 个节点的无向无根图&#xff0c;节点编号为 0 到 n - 1 。给你一个整数 n 和一个长度为 n - 1 的二维整数…