塔子哥的收藏夹-美团2023笔试(codefun2000)

news2024/11/17 6:22:45

题目链接
塔子哥的收藏夹-美团2023笔试(codefun2000)

题目内容

塔子哥是一位购物狂人,他经常光顾提瓦特商店。最近,提瓦特商店推出了一项促销活动,有N件商品打折销售。每个商品都有原价和折扣价,而且不同的商品的折扣力度也不同。

输入描述

第一行三个整数,以空格分开,分别表示

输出描述

第一行三个整数,以空格分开,分别表示

样例1

输入

4 7
1 0 1 0 1 0 1
1 1 1 3 1 4 1
3 2 3 5 3 100 3

输出

0 2 7 7

提示

操作记录为
0 0 0 0(初始)
询问[1,3]结果为0+0+0>
2 0 0 0<1号更改为2>
<询问[1,3],结果为2+0+0>
2 0 5 0 <3号更改为5>
<询问[1,3]结果为2+0+5>
2 0 5 100<4号更改为100>
<询问[1,3],结果为2+0+5>

题解1(C++版本)

// 树状数组的应用 
#include<bits/stdc++.h>
using namespace std;
const int N = 50005;
#define lowbit(x) ((x)&(-x))
int n, m, op[N], X[N], Y[N], tree[N], ans[N], cnt;

void update(int x, int val){ //修改元素tree[x], tree[x] += val 
	for(int i = x; i <= n; i += lowbit(i)){
		tree[i] += val;
	}
}

int getSum(int x){ //返回值是前缀和: sum = tree[1]+tree[2]+...+tree[x]
	int sum = 0;
	for(int i = x; i > 0; i -= lowbit(i)){
		sum += tree[i];
	}
	return sum;
}
signed main(){
	scanf("%d%d", &n, &m);
	for(int i = 1; i <= m; i++) scanf("%d", &op[i]);
	for(int i = 1; i <= m; i++) scanf("%d", &X[i]);
	for(int i = 1; i <= m; i++) scanf("%d", &Y[i]);
	for(int i = 1; i <= m; i++){
		if(op[i] == 0) {
			int t = getSum(X[i]) - getSum(X[i] - 1);
			update(X[i], -t); // 更新新的值之前,先还原 
			update(X[i], Y[i]);
		}
		else if(op[i] == 1) {
			ans[++cnt] = getSum(Y[i]) - getSum(X[i] - 1);
		}
	}
	for(int i = 1; i <= cnt; i++) {
		if(i > 1) printf(" ");
		printf("%d", ans[i]);
	}
	printf("\n");
	return 0;
} 

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

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

相关文章

独家揭秘!格行随身WiFi‘骄傲’宣言背后的震撼行业的真相!随身WiFi行业内黑马

近几年以来&#xff0c;随行WiFi产品呈现爆发式增长&#xff0c;随行WiFi的火爆&#xff0c;是技术进步带给消费者的一种“福利”&#xff0c;各大直播间也充斥着品牌各异的随身WiFi。但真正脱颖而出、赢得消费者信赖的优质品牌却凤毛麟角。而其中最受欢迎的格行随身WiFi也因设…

【Python】已解决:FileNotFoundError: [Errno 2] No such file or directory: ‘./1.xml’

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;FileNotFoundError: [Errno 2] No such file or directory: ‘./1.xml’ 一、分析问题背景 在Python编程中&#xff0c;FileNotFoundError是一个常见的异常&…

[CP_AUTOSAR]_分层软件架构_内容详解

目录 1、软件分层内容1.1、Microcontroller Abstraction Layer1.2、ECU Abstraction Layer1.2.1、I/O HW Abstraction1.2.2、Communication Hardware Abstraction1.2.3、Memory Hardware Abstraction1.2.4、Onboard Device Abstraction1.2.5、Crypto Hardware Abstraction 1.3、…

基于机器学习(霍特林统计量,高斯混合模型,支持向量机)的工业数据异常检测(MATLAB R2021B)

近年来&#xff0c;隨着集散控制系统、工业物联网、智能仪表等信息技术在现代工业生产系统中的应用&#xff0c;生产过程的运行状态能够以大量数据的形式被感知和记录。基于数据的故障诊断方法以过程数据为基础&#xff0c;采用统计分析、统计学习、信号处理等方法&#xff0c;…

100+大屏模板,基于Vue 国产开源 IoT 物联网 Web 组态可视化 BI 数据分析工具

项目源码&#xff0c;文末联系小编 01 DataEase 可视化大屏 DataEase 是一个国产开源的数据可视化分析工具(BI工具)&#xff0c;旨在帮助用户快速分析数据并洞察业务趋势&#xff0c;以实现业务的改进与优化。它支持丰富的数据源连接&#xff0c;包括OLTP和OLAP数据库、数据仓库…

【Python文件】操作终极指南:高效管理和处理文件系统的必备技能

目录 ​编辑 1. 文件的基础操作 1.1 打开/关闭文件 ​编辑 示例代码 文件对象 使用with语句打开文件 2. 读文件 2.1 使用read方法读取文件 2.2 使用readline方法读取文件 2.3 使用readlines方法读取文件 2.4 使用for循环读取文件 3. 写文件 3.1 使用write方法写文…

蓝桥杯web组国三选手题纲解析和备赛技巧--经验分享

蓝桥杯web组赛题解析和杯赛技巧 **&#x1f389;&#x1f389;&#x1f389;欢迎来到我的博客,我是一名自学了2年半前端的大一学生,熟悉的技术是JavaScript与Vue.目前正在往全栈方向前进, 如果我的博客给您带来了帮助欢迎您关注我,我将会持续不断的更新文章!!!&#x1f64f;&am…

论文辅导 | 基于多尺度分解的LSTM⁃ARIMA锂电池寿命预测

辅导文章 模型描述 锂电池剩余使用寿命&#xff08;Remaining useful life&#xff0c;RUL&#xff09;预测是锂电池研究的一个重要方向&#xff0c;通过对RUL的准确预测&#xff0c;可以更好地管理和维护电池&#xff0c;延长电池使用寿命。为了能够准确预测锂电池的RUL&…

华为仓颉可以取代 Java 吗?

大家好&#xff0c;我是君哥。 在最近的华为开发者大会上&#xff0c;华为亮相了仓颉编程语言&#xff0c;这是华为历经 5 年&#xff0c;投入大量研发成本沉淀的一门编程语言。 1 仓颉简介 按照官方报告&#xff0c;仓颉编程语言是一款面向全场景智能的新一代编程语言&#…

2024年618已购好物分享(天猫京东小米有品)

2024年618年中购物节已经结束了&#xff0c;这里先给大家分享下2024年618购买的好物以作参考&#xff0c;并附上订单截图和商品二维码&#xff0c;大伙如有心仪的商品可直接扫码下单或先收藏本页。 2024618天猫好物分享 1、蜂花洗发水450ml 超市自营&#xff0c;国民老品牌&a…

CTFShow的RE题(一)

RE2 1.中文字符的显示 2.对文件的读取操作 3.RC4加密 &#xff08;有一点是魔改的&#xff09; 4.enflag.txt文件里面的密文是ASCII编码之后的数据(可以放ida中) 也可以放到 010 里&#xff08;推荐&#xff09; encDH~mqqvqxB^||zllJq~jkwpmvez{ key for i in enc:keychr…

最新-基于Python的理财和记账系统

博主介绍&#xff1a;&#x1f449;全网个人号和企业号粉丝40W,每年辅导几千名大学生较好的完成毕业设计&#xff0c;专注计算机软件领域的项目研发&#xff0c;不断的进行新技术的项目实战&#x1f448; ⭐️热门专栏推荐订阅⭐️ 订阅收藏起来&#xff0c;防止下次找不到 &am…

C语言之常用内存函数以及模拟实现

目录 前言 一、memcpy的使用和模拟实现 二、memmove的使用和模拟实现 三、memset的使用和模拟实现 四、memcmp的使用和模拟实现 总结 前言 本文主要讲述C语言中常用的内存函数&#xff1a;memcpy、memmove、memset、memcmp。内容不多&#xff0c;除了了解如何使用&#x…

【C++】指针的点运算与箭头运算(->)的奥秘与应用

在编程的世界里&#xff0c;指针作为连接程序与内存之间的桥梁&#xff0c;扮演着至关重要的角色。对于使用C、C等语言进行开发的程序员而言&#xff0c;理解并掌握指针的使用技巧是提升编程能力的必经之路。其中&#xff0c;指针的点运算&#xff08;.&#xff09;和箭头运算&…

性价比蓝牙耳机排行榜前十名有哪些?十大性价比蓝牙耳机榜单盘点

作为使用真无线蓝牙耳机长达5-6年的资深爱好者&#xff0c;我始终对音频技术和产品的创新保持着浓厚的兴趣&#xff0c;最近&#xff0c;我投入了一笔不小的资金&#xff0c;超过大几千元&#xff0c;用于深入测试和评估市面上多款来自各大品牌的真无线蓝牙耳机&#xff08;包括…

【实战项目】:电商网站数据抓取分析||电商API数据采集

导语&#xff1a;在电商行业&#xff0c;了解市场动态和竞争对手的信息非常重要。通过抓取电商网站上的商品数据&#xff0c;我们可以进行市场分析、价格监控和产品趋势研究。本文将介绍如何构建一个系统&#xff0c;自动化抓取电商网站上的商品数据&#xff0c;并进行分析。 …

eBPF 指令宏

linux 6.9.7 指令宏 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ /* eBPF instruction mini library */ #ifndef __BPF_INSN_H #define __BPF_INSN_Hstruct bpf_insn;/* ALU ops on registers, bpf_add|sub|...: dst_reg src_reg */ // BPF_ALU64_REG&am…

轻松创建对象——简单工厂模式(Java实现)

1. 引言 大家好&#xff0c;又见面了&#xff01;在上一篇文章中&#xff0c;我们通过Python示例介绍了简单工厂模式&#xff0c;今天&#xff0c;我们继续深入这个话题&#xff0c;用Java来实现简单工厂模式。 2. 什么是简单工厂模式 简单工厂模式&#xff08;Simple Facto…

CorelDRAW2024设计师的神器,一试就爱上!

&#x1f3a8; CorelDRAW 2024&#xff1a;设计界的瑞士军刀&#xff0c;让创意不再受限&#xff01;&#x1f31f; 嗨&#xff0c;各位朋友们&#xff01;&#x1f44b;&#x1f3fb; 今天我要跟大家分享一个神奇的设计神器——CorelDRAW 2024。作为设计师的你&#xff0c;是否…

谷粒商城----通过缓存和分布式锁获取数据。

高并发下缓存失效的问题 高并发下缓存失效的问题--缓存穿透 指查询一个一定不存在的数据&#xff0c;由于缓存是不命中&#xff0c;将去查询数据库&#xff0c;但是数据库也无此记录&#xff0c;我们没有将这次查询的不写入缓存&#xff0c;这将导致这个不存在的数据每次请求…