【AC Saber】离散化
生活随笔
收集整理的這篇文章主要介紹了
【AC Saber】离散化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 離散化
離散化
#include<cstdio> #include<iostream> #include<algorithm> #include<map> #include<vector> using namespace std; typedef pair<int,int> PII; vector<int>sum,all; vector<PII>ve; map<int,int>mp,vis; int n,m; int find(int x) {int l=0,r=all.size()-1;while(l<r){int mid=l+r>>1;if(all[mid]>=x) r=mid;else l=mid+1;}return r+1; } int main(void) {cin>>n>>m;while(n--){int x,c; cin>>x>>c;mp[x]+=c;if(!vis[x]) all.push_back(x),vis[x]++;}while(m--){int l,r; cin>>l>>r;ve.push_back({l,r});if(!vis[l]) all.push_back(l),vis[l]++;if(!vis[r]) all.push_back(r),vis[r]++;}sort(all.begin(),all.end());sum.push_back(0);for(int i=0;i<all.size();i++) sum.push_back(mp[all[i]]),sum[i+1]+=sum[i];for(int i=0;i<ve.size();i++){int l=find(ve[i].first);int r=find(ve[i].second);cout<<sum[r]-sum[l-1]<<endl;}return 0; } 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【AC Saber】离散化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【AC Saber】二进制
- 下一篇: 【AC Saber】数据结构