博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj2481
阅读量:6759 次
发布时间:2019-06-26

本文共 857 字,大约阅读时间需要 2 分钟。

思路:先对E进行降序排序,在E相等的情况下,对S进行升序排序。然后用树状数组统计即可

#include
#include
using namespace std;struct node { int s,e,k;}t[100005];int c[100005];int cmp(const node &a,const node &b){ if(b.e
a.s) return 1; else return 0;}int lowbit(int x){ return x&(-x);}int sum(int x){ int s=0; while(x>0) { s+=c[x]; x-=lowbit(x); } return s;}void updata(int i,int j){ while(i<=100004) { c[i]+=j; i+=lowbit(i); }}int main(){ int i,rel[100005],n; while(scanf("%d",&n)>0) { if(n<1) break; memset(c,0,sizeof(c)); for(i=1;i<=n;i++) { scanf("%d %d",&t[i].s,&t[i].e); t[i].s++,t[i].e++; t[i].k=i; } sort(t+1,t+1+n,cmp); i=1; rel[t[i].k]=sum(t[i].s); updata(t[i].s,1); for(i=2;i<=n;i++) { if(t[i].s==t[i-1].s&&t[i].e==t[i-1].e) rel[t[i].k]=rel[t[i-1].k]; else rel[t[i].k]=sum(t[i].s); updata(t[i].s,1); } for(i=1;i

 

转载地址:http://bvfeo.baihongyu.com/

你可能感兴趣的文章
关于在堆中创建字符串对象的疑惑
查看>>
poj1077(康托展开+bfs+记忆路径)
查看>>
hibernate 树状映射
查看>>
值得 Web 开发人员收藏的20个 HTML5 实例教程
查看>>
经典网页设计:无缝过渡的响应式设计案例
查看>>
ASP.NET MVC 多语言方案
查看>>
移动设备、手机浏览器Javascript滑动事件代码
查看>>
linux,__attribute__用法
查看>>
LinqToXML~读XML文件续
查看>>
java.sql.SQLException: JZ00L
查看>>
struts的标签库出现Failed to load or instantiate TagExtraInfo class
查看>>
Java Web入门必知
查看>>
2014-3-5 星期三 [New Change && New Start]
查看>>
Eclipse安装SVN插件
查看>>
@Resource注解
查看>>
Android(Linux) 网卡名修改
查看>>
Ubuntu 中的VI和vim
查看>>
BaseAnimation是基于开源的APP,致力于收集各种动画效果(最新版本1.3) (转)
查看>>
Java
查看>>
HTTP Response Spliting 防范策略研究
查看>>