原题链接:登录—专业IT笔试面试备考平台_牛客网
目录
1. 题目描述
2. 思路分析
3. 代码实现
1. 题目描述
2. 思路分析
如果直接涂色来计算单点权重,2e5*2e5必然超时。
所以用差分进行优化。
3. 代码实现
#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;
}