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

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

#include 
using namespace std;#define pb push_back#define lb lower_bound#define ull unsigned ll#define gcd(a,b) __gcd(a,b)#define pii pair
#define all(x) x.begin(),x.end()#define ll long long#define mp make_pair//#define pi acos(-1)#define mod 1000000007#define inf (1LL<<31)-1map
> X,Y;vector
> V;const int mx = 200005;int tree[mx], pos[mx],N;int getPos(int n){ return (int) (lb(pos,pos+N,n)-pos) + 1;}int update(int idx,int val){ while(idx<=N) { tree[idx] += val; idx += (idx&-idx); } return 0;}int sum(int idx){ int res = 0; while(idx>0) { res += tree[idx]; idx -= (idx&-idx); } return res;}int main(){ int i,j,k,n; scanf("%d",&n); int x1,y1,x2,y2; for(i=0;i
x2) swap(x1,x2); if(y1>y2) swap(y1,y2); if(x1==x2) Y[x1].pb(mp(y1,y2)); else X[y1].pb(mp(x1,x2)); pos[N++] = y1; pos[N++] = y2; } sort(pos,pos+N); N = (int) (unique(pos,pos+N)-pos); map
> :: iterator it; ll ans = 0; for(it=X.begin();it!=X.end();it++) { vector
& vt = it -> second; sort(all(vt)); int y = (it -> first); int x1 = vt[0].first; int x2 = vt[0].second; int sz = vt.size(); for(i=1;i
& vt = it -> second; sort(all(vt)); int x = (it -> first); while(p
=V[p].first) { int t1 = V[p].second.first; int t2 = V[p].second.second; t2 = getPos(t2); update(t2,-t1); p++; } int y1 = vt[0].first; int y2 = vt[0].second; int sz = vt.size(); for(i=1;i

  

转载于:https://www.cnblogs.com/ChenAlong/p/5132324.html

你可能感兴趣的文章
linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹
查看>>
CentOS yum安装mysql
查看>>
OceanBase笔记1:代码规范
查看>>
[Algorithms] Longest Increasing Subsequence
查看>>
MAC下GitHub命令操作
查看>>
springboot之filter/listener/servlet
查看>>
Thinkphp --- 去掉index.php
查看>>
Spring+SpringMVC+MyBatis深入学习及搭建(十一)——SpringMVC架构
查看>>
oracle故障解决
查看>>
tcpdump
查看>>
数据库内存结构
查看>>
利用Shell开发跳板机功能脚本案例
查看>>
51CTO的技术门诊谈OSSIM
查看>>
六年心路成长 —— 做自己
查看>>
Unix整理笔记——高级命令sed和awk——里程碑M10
查看>>
Linux系统详解 第六篇:系统的启动、登录、注销与开关机
查看>>
ios电话拨打进行监听电话状态
查看>>
京东基于Spark的风控系统架构实践和技术细节
查看>>
什么时候使用CountDownLatch
查看>>
C#之MemberwiseClone与Clone
查看>>