目录
[1. 题目描述](#1. 题目描述)
[2. 思路分析](#2. 思路分析)
[3. 代码实现](#3. 代码实现)
1. 题目描述
2. 思路分析
如果直接涂色来计算单点权重,2e5*2e5必然超时。
所以用差分进行优化。
3. 代码实现
cpp
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N=2e5+10;
int b[N];
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n,m; cin>>n>>m;
while(m--){
int l,r; cin>>l>>r;
b[l]+=1,b[r+1]-=1;
}
for(int i=1;i<=n;i++) b[i]+=b[i-1];
sort(b+1,b+n+1);
int ans=0;
for(int i=1;i<=n;i++) ans+=i*b[i];
cout<<ans<<endl;
return 0;
}