牛客储物点的距离

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

 一个数轴,每一个储物点会有一些东西,同时它们之间存在距离。
每次给个区间[l,r],查询把这个区间内所有储物点的东西运到另外一个储物点的代价是多少?
比如储物点i有x个东西,要运到储物点j,代价为x * dist( i , j )
dist就是储物点间的距离。 

输入描述:

第一行两个数表示n,m

第二行n-1个数,第i个数表示第i个储物点与第i+1个储物点的距离ai

第三行n个数,表示每个储物点的东西个数bi

之后m行每行三个数x l r

表示查询要把区间[l,r]储物点的物品全部运到储物点x的花费

每次查询独立

输出描述:

对于每个询问输出一个数表示答案
答案对1000000007取模

示例1

输入

5 5
2 3 4 5
1 2 3 4 5
1 1 5
3 1 5
2 3 3
3 3 3
1 5 5

输出

复制125 72 9 0 7125 72 9 0 70

备注:

对于100%的数据n,m <= 200000 , 0 <= ai,bi <= 2000000000

还有减号取模为(a-b+mod)%mod,因为减可能为负数

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const ll mod=1000000007;//qu
ll a[200005],b[200005],s[200005];
ll right(int l,int r,int x){//在左边return ((s[r]-s[l-1])-a[x]*(b[r]-b[l-1]))%mod;//把区间到1点的前缀和算出来,然后减去1到x的多余前缀和
}
ll left(int l,int r,int x){//在右边return (a[x]*(b[r]-b[l-1])-(s[r]-s[l-1]))%mod;//与上面相反
}
int main(){int n,m;cin>>n>>m;for(int i=2;i<=n;i++){//各点到1点的距离ll num;cin>>num;a[i]=(a[i-1]+num)%mod;}for(int i=1;i<=n;i++){cin>>b[i];s[i]=(s[i-1]+b[i]*a[i])%mod;//各点转移到1点的代价b[i]=(b[i-1]+b[i])%mod;//区间物品数量}for(int i=1;i<=m;++i){ int x,l,r;cin>>x>>l>>r;ll ans=0;if(x<=l)ans=right(l,r,x);else if(x>=r)ans=left(l,r,x);else ans=left(l,x,x)+right(x,r,x);cout<<(ans%mod+mod)%mod<<endl;}
}

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

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

相关文章

如何使用免费软件从Mac恢复音频文件?

要从Mac中删除任何文件&#xff0c;背后是有原因的。大多数Mac用户都希望增加Mac中的空间&#xff0c;这就是为什么他们更喜欢从驱动器中删除文件以便出现一些空间的原因。一些Mac用户错误地删除了该文件&#xff0c;无法识别这是一个重要文件。例如&#xff0c;他们错误地从Ma…

小区服务|基于SprinBoot+vue的小区服务管理系统(源码+数据库+文档)

目录 基于SprinBootvue的小区服务管理系统 一、前言 二、系统设计 三、系统功能设计 1管理员登录 2 客服聊天管理、反馈管理管理 3 公告信息管理 4公告类型管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博…

说一说具身人工智能

罗德尼布鲁克斯&#xff08;Rodney Brooks&#xff0c;现代机器人之父&#xff09;在 1991 年发表的研究论文《没有表征的智能》[1]提出了一种对智能的根本性重新思考。布鲁克斯反对传统的认为智能必须基于复杂算法或内部数据模型&#xff08;即“表征”&#xff09;的观点。他…

计算机网络复习-网络层

章节主要内容 虚拟互连网络 实际的计算机网络是错综复杂的物理设备通过使用ip协议&#xff0c;屏蔽了物理网络之间的差异当网络中的主机使用ip协议连接时&#xff0c;则无需关注网络细节 IP协议 ip协议使得复杂的实际网络变为一个虚拟互连的网络ip协议使得网络层可以屏蔽细…

综合案例(账号密码登录和SQL注入)

综合案例&#xff1a;账号密码登录与SQL注入 一、背景 假设我们有一个简单的用户登录页面&#xff0c;用户需要输入用户名和密码来登录系统。在后台&#xff0c;我们使用SQL查询语句来验证用户输入的用户名和密码是否与数据库中存储的相匹配。然而&#xff0c;如果我们在编写…

Debian 12 tomcat 9 catalina 日志信息 中文显示乱码

目录 问题现象 解决办法&#xff1a; 1、设定Debian locale 2、设定catalina.sh utf8字符集 问题现象 Debian 12 linux操作系统中&#xff0c;tomcat 9 catalina 启动日志输出 中文乱码 解决办法&#xff1a; 1、设定Debian locale 先确保系统本身就支持中文的 Debian …

Docker 虚拟机 WSL

WSL&#xff08;Windows Subsystem for Linux&#xff09;是Windows操作系统中的一个功能&#xff0c;它允许用户在Windows系统上运行Linux环境。它是一个兼容层&#xff0c;通过在Windows上运行一个Linux内核接口的实现来提供对Linux二进制文件的支持。 WSL提供了一个命令行界…

[CUDA 学习笔记] GEMM 优化: 双缓冲 (Prefetch) 和 Bank Conflict 解决

GEMM 优化: 双缓冲 (Prefetch) 和 Bank Conflict 解决 前言 本文主要是对 深入浅出GPU优化系列&#xff1a;GEMM优化&#xff08;一&#xff09; - 知乎, 深入浅出GPU优化系列&#xff1a;GEMM优化&#xff08;二&#xff09; - 知乎 以及 深入浅出GPU优化系列&#xff1a;GE…

操作系统:线程互斥|线程同步|锁的概念

目录 前言 1.线程互斥 1.1.互斥量|锁的使用 1.2.锁的本质 1.3.死锁 1.3.1.什么是死锁 1.3.2.死锁产生的4个必要条件 1.3.3.如何避免死锁 2.线程同步 2.1.知识引入 2.2.条件变量 2.2.1.为什么需要条件变量 2.2.2.条件变量接口 前言 进行这一章节的学习之前&#xf…

javaEE项目开发总结(前后端交互)

一、所需知识 1.javaSE&#xff1a;是Java语言最基础的部分&#xff1a;面向对象、常用类库 2.MySQL数据库&#xff1a;DDL、DML、DQL 3.web前端网页操作界面&#xff1a;htmlcssjs&#xff08;原生&#xff09;、vue&#xff08;js框架&#xff09;、elementUI&#xff08;…

25计算机考研院校数据分析 | 哈尔滨工业大学

哈尔滨工业大学&#xff08;Harbin Institute of Technology&#xff09;&#xff0c;简称哈工大&#xff0c; 校本部位于黑龙江省哈尔滨市&#xff0c;是由工业和信息化部直属的全国重点大学&#xff0c;位列国家“双一流”、“985工程”、“211工程”&#xff0c;九校联盟 、…

Word文件导出为PDF

Word文件导出为PDF 方法一、使用Word自带另存为PDF功能 打开需要转换为PDF格式的Word文件&#xff0c;依次点击【文件】➡【另存为】➡选择文件保存类型为.PDF 使用这种方法导出的PDF可能存在Word中书签丢失的情况&#xff0c;在导出界面点击&#xff0c;选项进入详细设置 勾…

Python中的`return`语句详解

Python中的return语句详解 对于初学Python或任何编程语言的人来说&#xff0c;理解函数如何返回值是非常重要的。在Python中&#xff0c;return语句用于从函数中返回结果。本篇博客将详细介绍return语句的基本用法&#xff0c;以及如何在不同情境中有效使用它。 什么是return…

PHP 类型比较常见方法

在 PHP 中&#xff0c;类型比较可以通过多种方式进行&#xff0c;具体取决于你希望达到的精确度和上下文。以下是一些关于 PHP 类型比较的重要概念和示例&#xff1a; 松散比较&#xff08;Loose Comparison&#xff09;&#xff1a;使用 或 ! 进行比较时&#xff0c;PHP 会尝…

U盘未初始化?别慌,数据还有救!

当我们将U盘插入电脑&#xff0c;期待地打开“我的电脑”或文件管理器&#xff0c;却发现U盘显示为未初始化&#xff0c;这种心情无异于一盆冷水浇头。但先别急着慌张&#xff0c;这篇文章将带你了解U盘未初始化的原因&#xff0c;并提供有效的数据恢复方案&#xff0c;让你在遭…

【记录】Python3| 将 PDF 转换成 HTML/XML(✅⭐pdfminer.six)

本文将会被汇总至 【记录】Python3&#xff5c;2024年 PDF 转 XML 或 HTML 的第三方库的使用方式、测评过程以及对比结果&#xff08;汇总&#xff09;&#xff0c;更多其他工具请访问该文章查看。 注意&#xff01;pdfminer.six 和 pdfminer3k 不是同一个&#xff01;&#xf…

【跟马少平老师学AI】-【神经网络是怎么实现的】(五)梯度消失问题

一句话归纳&#xff1a; 1&#xff09;用sigmoid激活函数时&#xff0c;BP算法更新公式为&#xff1a; 用sigmoid函数&#xff0c;O取值为0~1&#xff0c;O(1-O)最大值为0.25&#xff0c;若神经网络层数多&#xff0c;则会造成更新项趋近于0&#xff0c;称为梯度消失。 2&#…

windows驱动开发-DMA技术(一)

DMA(Direct Memory Access)是所有现代电脑的重要特色&#xff0c;它允许不同速度的硬件装置来沟通&#xff0c;而不需要依于 CPU 的大量中断负载&#xff0c;否则CPU 需要从设备缓存中把每一页的数据复制到缓存中&#xff0c;然后把它们再次写入到新的地方&#xff0c;在这个过…

jenkins 部署springboot 项目

文章目录 持续集成指定tag发布 基于Jenkins拉取GitLab的SpringBoot代码进行构建发布到测试环境实现持续集成 基于Jenkins拉取GitLab指定发行版本的SpringBoot代码进行构建发布到生产环境实现CD实现持续部署 持续集成 为了让程序代码可以自动推送到测试环境基于Docker服务运行…

PostgreSQL日期和时间相关函数

PostgreSQL日期和时间相关函数 时间类型获取当前时间时间加减格式转换相关函数 示例: --- 提取7天前的日期 SELECT (current_date - interval 7 day)::date as start_date-- 明天的日期 SELECT (current_date interval 1 day)::date as end_date-- 当年的第一天 SELECT DATE_…