51NOD 1672 区间交 线段树
来源:互联网 发布:2017人工智能最新进展 编辑:程序博客网 时间:2024/05/22 00:34
题目链接:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1672
#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>#define sf scanf#define pf printf#define L (rt << 1)#define R (rt << 1 | 1)using namespace std;typedef long long LL;const int maxn = 100000 + 5;LL sum[maxn];int cover[maxn << 2];void push_up(int rt){ cover[rt] = cover[L] + cover[R];}void Build(){ memset(cover,0,sizeof(cover));}void update(int rt,int l,int r,int x){ if(l == r) { cover[rt]++; return; } int mid = (l + r) >> 1; if(x <= mid){ update(L,l,mid,x); } else{ update(R,mid + 1,r,x); } push_up(rt);}int Query(int rt,int l,int r,int x){ if(l == r) return r; else{ int mid = l + r >> 1; if(cover[R] >= x) return Query(R,mid + 1,r,x); else return Query(L,l,mid,x - cover[R]); }}struct CC{ int ll,rr;}CCs[maxn];bool cmp(const CC& a,const CC& b){ return a.ll < b.ll;}int main(){ int n,k,m,temp; sf("%d%d%d",&n,&k,&m); sum[0] = 0; for(int i = 1;i <= n;++i){ sf("%d",&temp); sum[i] = sum[i - 1] + temp; } for(int i = 1;i <= m;++i) sf("%d %d",&CCs[i].ll,&CCs[i].rr); sort(CCs + 1,CCs + m + 1,cmp); CCs[n + 1].rr = 1; Build(); LL ans = 0; for(int i = 1;i <= k;++i) update(1,1,n,CCs[i].rr); for(int i = k;i <= m;++i){ int pos = Query(1,1,n,k); if(pos >= CCs[i].ll){ ans = max(ans,sum[pos] - sum[CCs[i].ll - 1]); } update(1,1,n,CCs[i + 1].rr); } pf("%lld\n",ans); return 0;}
0 0
- 51NOD 1672 区间交 线段树
- 【51Nod】1672 - 区间交(线段树 & 贪心)
- 51nod 1672 区间交【线段树、multiset】
- 51nod 1672-区间交(线段树)
- 51nod 1672 区间交【线段树】【贪心】
- 51nod-1672 区间交
- 51NOD 1672 区间交
- 51nod 1672 区间交
- 51nod 1672 区间交
- 51nod 1672 区间交
- 51Nod 1672 区间交
- 51Nod-1672-区间交
- 51Nod-1672-区间交
- 51 nod 1672 区间交(枚举 贪心)
- 51nod 1672 区间交(贪心)
- 51node 1672 区间交(线段树)
- 51nod 1627 区间交
- 线段树 hdu5700 区间交
- Android 6.0 新功能及主要 API 变更
- class和ID的区别
- 122. Best Time to Buy and Sell Stock II**
- 使用Vitamio打造自己的Android万能播放器(1)——准备
- 反射:运行时的类信息
- 51NOD 1672 区间交 线段树
- MATLAB 编程风格指南
- Android完全退出程序、线程
- ViewPager无限轮播+轮播时下面的小点跟着走
- 【bzoj1502】 NOI2005—月下柠檬树
- 状态模式——你若安好,便是晴天
- POJ A Knight's Journey
- String...str是什么?
- php中的each()用法和list()用法