首页 > 其他分享 >题解:P10903 [蓝桥杯 2024 省 C] 商品库存管理

题解:P10903 [蓝桥杯 2024 省 C] 商品库存管理

时间:2024-08-23 16:51:24浏览次数:13  
标签:2024 int 题解 sum 个数 蓝桥 数组 操作 300005

题目大意

有一个初始化为 \(0\) 的 长度为 \(n\) 的序列,现有 \(m\) 个操作,每次将区间 \([L, R]\) 中的数量加 \(1\),求如果不做某个操作将会有多少个数量为 \(0\) 的量。

解题思路

image

当看见这句话时就想到了差分,这题我们可以使用差分先处理将所有的操作执行后的数组,然后在算出如果减去某个操作的数组是什么样子。

不难想,减去某个操作后数组中 \(0\) 的个数就是区间外本来就是 \(0\) 的量的个数和区间内被变成 \(1\) 的量的个数相加。

这部分代码可以使用前缀和优化。

求解公式为:\(ans_i = \sum_{i = 1} ^ {l_i - 1} {a_i = 0} + \sum_{i = l_i} ^ {r_i} {a_i = 1} + \sum_{i = r_i + 1} ^ {n} {a_i = 0}\)

代码

#include <bits/stdc++.h>
using namespace std;

int n, m;
int l[300005], r[300005];
int a[300005], b[300005], c[300005];

int main()
{
	cin >> n >> m;
	for (int i = 1; i <= m; i++)
	{
		cin >> l[i] >> r[i];
		a[l[i]]++;
		a[r[i] + 1]--;
	}
	
	for (int i = 1; i <= n; i++)
	{
		a[i] += a[i - 1]; // 前缀和
		if (a[i] == 0)
			b[i]++; // 统计为 0
		if (a[i] == 1)
			c[i]++; // 统计为 1
		b[i] += b[i - 1]; // 前缀和
		c[i] += c[i - 1]; // 前缀和
	}
	
	for (int i = 1; i <= m; i++)
	{
		cout << b[l[i] - 1] + b[n] - b[r[i]] + c[r[i]] - c[l[i] - 1] << "\n";
		// 区间外(1~l[i]-1, r[i]+1 ~ n) 为 0 的数 + 区间内为 1 的数。 
	}
	return 0; 
}

// 记录:https://www.luogu.com.cn/record/174366827 

标签:2024,int,题解,sum,个数,蓝桥,数组,操作,300005
From: https://www.cnblogs.com/George222/p/18376385

相关文章

  • P10404 「XSOI-R1」原神数 题解
    一篇题解需要一张头图。容易发现超过十位的数都不是原神数,因为只有十个数字,不可能保证十一个位置互不相同。同时恰好十位的数也不可能是原神数,因为数位互不相同的十位数的数位和为\(45\),被\(3\)整除,一定是\(3\)的倍数。于是把原神数的范围缩小到\([1,10^9)\)。显然不......
  • 2024“钉耙编程”中国大学生算法设计超级联赛(10)
    时间:08_181011NOI2024 31.80%(703/2211)1008SunBian 55.02%(669/1216)1009不基本子串结构 20.57%(589/2864)1002scenery 21.00%(368/1752)1011NOI2024思路题目问的是“是否一定”,考虑最差情况,比自己排名高的全部拿分了,剩下的人一分不拿,与自己并列排名最后每场......
  • [2027届]NOIP2024模拟赛#4
    比赛链接先看榜:倒数呜呜呜。T1最简单的一道题,但是我在看到T2以后就先鸽了,然后就一直鸽了……简单来想,每次询问只会改变两个数字,所以与处理之后直接和最后的数字一一对应后就可以做到正确的复杂度。T2就是这道题,卡了我3H……一开始看到的时候直接思路明确。但是规律找的......
  • 2024最新的Java八股文合集来了,彻底解决一线大厂面试难题
    Java提供的多态机制?Java提供了两种用于多态的机制,分别是重载与覆盖。重载:重载是指同一个类中有多个同名的方法,但这些方法有不同的参数,在编译期间就可以确定调用哪个方法。覆盖:覆盖是指派生类重写基类的方法,使用基类指向其子类的实例对象,或接口的引用变量指向其实现类的实......
  • 2024最新Stable Diffusion安装部署教程五分钟学会(附下载地址)
    附上秋葉aaaki大佬整合包下载地址......
  • KubeCon China 2024全球大会在香港举行,京东云受邀参加探讨云原生、开源及 AI
    和数字化大潮一样,在AI化的革命下,云端也在全面拥抱AI,并在方方面面变得更安全、更高效,让全球各行各业受益。2024年8月21日,由云原生计算基金会(CNCF)和 Linux 基金会联合主办的KubeCon + CloudNativeCon + Open Source Summit + AI_dev China 2024在香港开幕。大会首日吸......
  • P10528 [XJTUPC2024] 崩坏:星穹铁道 题解
    求方案数,分多种情况,不难想到DP。设\(dp_{i,j}\)表示已经行动\(i\)次,剩余战技点个数为\(j\)的方案数,容易得到以下转移方程。\(a_i=1\)时,有\[dp_{i,j}=\begin{cases}0,&j=0,\\dp_{i-1,j-1},&1\leqslantj\leqslant4,\\dp_{i-1,j-1}+dp_{i......
  • VirGL与NVIDIA GPU一起运行 - 2024(QEMU)
    安装Nvidia驱动程序550和下一版本(如果需要检查,请将550更改为555等)。sudoadd-apt-repositoryppa:graphics-drivers/ppasudoaptupdatesudoaptinstallnvidia-driver-550禁用集成GPU第1步(只能通过英伟达™(NVIDIA®(英伟达™))GPU运行,不能使用其他GPU)(如果无法......
  • 2024年必备神器:5款AI工具,让你的生产力达到新高度
    如果你还在傻傻地埋头工作,觉得只有这样才能受到领导的重视,得当心了。随着时代和科技的发展,你将很容易发现一个现象:当你好不容易完成了工作,却发现其他人早就完成并且还做了很多别的事情,效率比你不知道高了多少。别怀疑,很有可能是ta使用了AI工具。想想,如果你也借助了AI工具是不......
  • 2024年AI工具新趋势:5款顶级AI助手,让你的工作事半功倍
    如果你还在傻傻地埋头工作,觉得只有这样才能受到领导的重视,得当心了。随着时代和科技的发展,你将很容易发现一个现象:当你好不容易完成了工作,却发现其他人早就完成并且还做了很多别的事情,效率比你不知道高了多少。别怀疑,很有可能是ta使用了AI工具。想想,如果你也借助了AI工具是不......