当前位置: 首页 > news >正文

兰州网站搜索排名河南seo外包

兰州网站搜索排名,河南seo外包,完成公司门户网站建设,云南做网站价格题意 有一个圆,圆周上按顺时针方向给出 2 n 2n 2n个点。第 i i i个点的颜色是 c o l o r i color_i colori​,其中数据保证 1 ≤ c o l o r i ≤ n 1\le color_i\le n 1≤colori​≤n,而且每种不同的颜色有且只有两个点。不存在位置重叠的点…

题意

有一个圆,圆周上按顺时针方向给出 2 n 2n 2n个点。第 i i i个点的颜色是 c o l o r i color_i colori,其中数据保证 1 ≤ c o l o r i ≤ n 1\le color_i\le n 1colorin,而且每种不同的颜色有且只有两个点。不存在位置重叠的点。在颜色相同的两个点之间连一条边(线段)。

求有多少对边是交叉的?

1 ≤ n ≤ 50000 1\le n \le 50000 1n50000

在这里插入图片描述

思路

转换一下题意,把所谓的“圆圈”拉平成一条直线上的 2 n 2n 2n个点,以相等的两个数的下标作为两端点连一条线段,求线段存在交集且不存在全包含关系的对数。在这里插入图片描述
遇到线段覆盖问题,可以考虑使用树状数组来维护区间内的点数个数。枚举到一条线段,就在树状数组上给两端端点分别加一;计算一条线段 i ( l e − r i ) i(le-ri) i(leri)的贡献就是 q u e r y ( r i i − 1 ) − q u e r y ( l e i ) query(ri_i-1)-query(le_i) query(rii1)query(lei)

这样算难道不会算重吗?

可以先考虑处理长度更长的线段,如果一条线段 b b b被线段 a a a完全覆盖,必然有 l e n a > l e n b len_a>len_b lena>lenb,此时会先处理 a a a再处理 b b b,就不会多算 b b b的两端节点了。

对于其它的线段,要么与线段 a a a本身相离,当然不会计入贡献,要么一端端点在开区间 ( l e a , r i a ) (le_a,ri_a) (lea,ria)内,计入贡献为 1 1 1

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ls u<<1
#define rs u<<1|1
const ll N=1e5+2;
ll n,ans;
struct seg
{ll l,r;
}a[N];
bool cmp(seg x,seg y)
{return x.r-x.l>y.r-y.l;
}
struct BT
{ll T[N];ll lowbit(ll x){return x&(-x);}void add(ll x,ll k){for(int i=x;i<=n*2;i+=lowbit(i))T[i]+=k;}ll query(ll x){ll ret=0;for(int i=x;i>=1;i-=lowbit(i))ret+=T[i];return ret;}
}B;
int main()
{scanf("%lld",&n);for(int i=1;i<=n*2;i++){ll x;scanf("%lld",&x);if(!a[x].l)a[x].l=i;else a[x].r=i;}sort(a+1,a+n+1,cmp);for(int i=1;i<=n;i++){B.add(a[i].l,1);B.add(a[i].r,1);ans+=B.query(a[i].r-1)-B.query(a[i].l);}printf("%lld",ans);return 0;
}
http://www.ritt.cn/news/25759.html

相关文章:

  • 什么叫子网站河南网站优化排名
  • 网站开发与建设课程设计百度站长平台工具
  • 中国可以做交互的网站百度推广优化
  • 做网站数据库怎么做今日新闻国际头条新闻
  • 武汉seo公司网站广告接单有什么平台
  • 如何建设一个静态网站6重庆seo关键词排名
  • 厦门成品网站微信软文范例大全100
  • 客户做百度推广后修改网站url需要哪些流程网站推广的方式有
  • 专业的外贸网站建设公司怎么seo快速排名
  • 如何用java做网站百度一下你就知道官网新闻
  • 公司付的网站费怎么做分录欧洲站fba
  • 网站设计的布局制作链接的小程序
  • b2c购物网站有哪些中国营销网站
  • 模板素材库百度seo关键词优化市场
  • 一般网站设计多大宽度微商引流的最快方法是什么
  • 在建设银行网站上买卖贵金属广州市最新消息
  • 沈阳网站制作思路b站推广网站2023
  • 柳州专业网站优化seo专业培训学费多少钱
  • 山西建筑劳务网站bt种子搜索
  • 网站空间商查询seo推广有哪些公司
  • 国外平台卖货app优化方案
  • 网站运营新手做网络营销网站设计
  • 自己做网站要哪些东西新媒体
  • 网站的建设方向最佳磁力链ciliba
  • 建设网站如何弄好几张网站背景seo自动工具
  • 鸡西公司做网站北京网站维护公司
  • html做网站怎么链接音乐企业官网搭建
  • 海淀区住房城乡建设委房管局官方网站湖南网站定制
  • 做网站必须要有的素材国内最新新闻热点事件
  • 租空间做网站需要多少钱刷移动端seo软件