AcWing 2041. 干草堆(差分)

Posted MangataTS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AcWing 2041. 干草堆(差分)相关的知识,希望对你有一定的参考价值。

题目链接

https://www.acwing.com/problem/content/2043/

思路

因为我们前面有k个区间修改操作,最后求出中位数,由于是静态的,所以我们直接使用差分维护就好啦,然后最后求一个前缀和恢复一下修改后的每个位置的值即可

代码

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

const int N = 1e6+10;

int a[N];
int n;
int k,A,B;


int main()

	cin>>n>>k;
	while(k--) 
		cin>>A>>B;
		a[A]++;
		a[B+1]--;		
	
	int res = 0;
	for(int i = 1;i <= n; ++i) 
		res += a[i];
		a[i] = res;
	
	sort(a+1,a+1+n);
	cout<<a[n/2 + 1]<<endl;
	
	return 0;

以上是关于AcWing 2041. 干草堆(差分)的主要内容,如果未能解决你的问题,请参考以下文章

寒假每日一题2022week1 未完结

差分Acwing798.差分矩阵

蓝桥杯AcWing 题目题解 - 二分与前缀和差分

AcWing 797. 差分

AcWing 2014. 岛 差分+map离散化

AcWing 798. 差分矩阵