栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3574 Under Attack II

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3574 Under Attack II

#include <iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#define LL long long#define eps 1e-10using namespace std;struct info{int y1,y2;}a[100000];struct node{int x,id;}b[100000];int cnt,c[100000];bool cmp(node a,node b){return a.x<b.x;}bool cmp1(info a,info b){return a.y1<b.y1||a.y1==b.y1&&a.y2<b.y2;}int lowbit(int x){return x&(-x);}int getsum(int x){int s=0;for(;x;x-=lowbit(x)) s+=c[x];return s;}void ins(int x){for(;x<=cnt;x+=lowbit(x)) c[x]++;}int main(){int i,j,m,n,k,t,q,bb,ans;while(scanf("%d%d",&n,&m)!=EOF){if(n>m) swap(n,m);scanf("%d",&q);for(t=i=0;i<q;i++){scanf("%d%d",&k,&bb);a[i].y1=k*n+bb;a[i].y2=k*m+bb;b[t].id=i;b[t++].x=a[i].y1;b[t].id=i+q;b[t++].x=a[i].y2;}sort(b,b+t,cmp);cnt=1;if(b[0].id<q) a[b[0].id].y1=cnt;else a[b[0].id-q].y2=cnt;for(i=1;i<t;i++){if(b[i].x!=b[i-1].x) cnt++;if(b[i].id<q) a[b[i].id].y1=cnt;else a[b[i].id-q].y2=cnt;}memset(c,0,sizeof(c));sort(a,a+q,cmp1);ans=1;for(i=0;i<q;i++){ans++;ans+=i-getsum(a[i].y2);ins(a[i].y2);}printf("%dn",ans);}}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379585.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号