【JZOJ6285】飘雪圣域
description
analysis
从求联通块出发根本没做法,于是考虑连通块里面的边
对于一个询问 [ l , r ] [l,r] [l,r],一条边的左端点 ≥ l ≥l ≥l且右端点 ≤ r ≤r ≤r才在这个区间的点之间
于是对于边和询问排序,依次把边加入树状数组,然后查询当前询问区间里的边条数就知道了联通块个数
code
#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define MAXN 200005
#define ll long long
#define reg register ll
#define fo(i,a,b) for (reg i=a;i<=b;++i)
#define fd(i,a,b) for (reg i=a;i>=b;--i)using namespace std;ll tr[MAXN];
ll n,q;struct edge
{ll x,y;
}a[MAXN];struct inquiry
{ll x,y,z,ans;
}b[MAXN];inline ll read()
{ll x=0,f=1;char ch=getchar();while (ch<'0' || '9'<ch){if (ch=='-')f=-1;ch=getchar();}while ('0'<=ch && ch<='9')x=x*10+ch-'0',ch=getchar();return x*f;
}
inline ll lowbit(ll x){return x&(-x);}
inline bool cmp(edge a,edge b){return a.y<b.y;}
inline bool cmpp(inquiry a,inquiry b){return a.y<b.y;}
inline bool cmppp(inquiry a,inquiry b){return a.z<b.z;}
inline void modify(ll x,ll y){while (x<=n)tr[x]+=y,x+=lowbit(x);}
inline ll query(ll x){ll y=0;while (x)y+=tr[x],x-=lowbit(x);return y;}
inline ll get(ll x,ll y){return query(y)-query(x-1);}
int main()
{freopen("icekingdom.in","r",stdin);//freopen("icekingdom.out","w",stdout);n=read(),q=read();fo(i,1,n-1){ll x=read(),y=read();a[i].x=min(x,y),a[i].y=max(x,y);}sort(a+1,a+n,cmp);fo(i,1,q)b[i].x=read(),b[i].y=read(),b[i].z=i;sort(b+1,b+q+1,cmpp);ll j=1;fo(i,1,q){while (j<n && b[i].y>=a[j].y)modify(a[j++].x,1);b[i].ans=b[i].y-b[i].x+1-get(b[i].x,b[i].y);}sort(b+1,b+q+1,cmppp);fo(i,1,q)printf("%lld\n",b[i].ans);return 0;
}
【JZOJ6285】飘雪圣域相关推荐
- 20190218【梦境】【玩具】【飘雪圣域】
贪心 玄学DP 树状数组 T1[梦境] WOJ 707070分 网络流跑二分图 #include<bits/stdc++.h> using namespace std; inline in ...
- 飘雪圣域(icekingdom)
飘雪圣域(icekingdom) 题目描述 IcePrincess_1968 和 IcePrince_1968 长大了,他们开始协助国王 IceKing_1968 管理国内事物. IcePrinces ...
- #3985. 飘雪圣域(icekingdom)
题目描述 IcePrincess_1968 和 IcePrince_1968 长大了,他们开始协助国王 IceKing_1968 管理国内事物. IcePrincess_1968 和 IcePrinc ...
- ssoj3985: 飘雪圣域(icekingdom)
时间限制: 1 Sec 内存限制: 256 MB 提交: 36 解决: 19 [提交][状态][博客][加入收藏] 题目描述 IcePrincess_1968 和 IcePrince_1968 长大了 ...
- 【提高测试】飘雪圣域(树状数组)
描述 IcePrincess_1968 和 IcePrince_1968 长大了,他们开始协助国王 IceKing_1968 管理国内事物. IcePrincess_1968 和 IcePri ...
- 【数据结构】【离线操作】飘雪圣域
[题目描述] IcePrincess_1968 和 IcePrince_1968 长大了,他们开始协助国王 IceKing_1968 管理国内事物. IcePrincess_1968 和 Ic ...
- 飘雪圣域 [树状数组(二维偏序)]
飘 雪 圣 域 飘雪圣域 飘雪圣域 正 解 部 分 \color{red}{正解部分} 正解部分 首 先 要 知 道 : 首先要知道: 首先要知道: 若给定一个区间 [ l , r ] [l, r] ...
- [WOJ4379] 飘雪圣域 [主席树]
传送门 每次询问点的个数是r-l+1, 那么联通块个数就是总点数减去边的个数 考虑哪些边有贡献, 令边为l,r (l<r), 那么ql <= l < r <= qr 的边有贡献 ...
- [树状数组]飘雪圣域
没找到传送门(这是校内的) 题意:给一棵树,多次询问编号在l到r中的点组成的连通块个数 考试的时候一直在想奇怪的做法,用的都是树上维护的知识(比如已经被某C姓神仙卡掉的虚树+树剖+二分) 其实这道题根 ...
最新文章
- 巧用CSS提升表格呈现性能
- 小型化RDA5807调频收音模块实验板
- python数据展示平台_Python获取各大地图平台经纬度数据,哪家的数据最准确?
- Ch5501-环路运输【环形处理dp】
- hadoop和kerberos的整合总结
- 云图说|不要小看不起眼的日志,“小日志,大作用”
- Spring Boot + Spring Cloud 实现权限管理系统 配置中心(Config、Bus)
- 使用“npm init”初始化项目
- Code Chef - Chef and Graph Queries
- [Windows] 【强力推荐】可以将任何格式的文档免费转换为高质量PDF文件的软件,珍藏宝贝!!!
- The 2018 ACM-ICPC Asia Qingdao Regional Contest (Mirror)
- 模拟电子电路基础——放大器理解与梳理
- 【面试题 - mysql】进阶篇 - 索引
- 机器学习入门:入手sklearn框架+线性回归+案例(基金数据的预测)
- Python 之圆周率 π 的计算
- 如何求卡方分布的P值
- LeetCode-344
- Google Earth Engine(GEE)——影像导出谷歌硬盘发生错误Error: Exported bands must have compatible data types
- 英语口语201之每日十句口语
- 计算机格式化系统,Win7电脑怎么进行格式化?
热门文章
- Esxi 6,7,8,将USB键盘鼠标直通到虚拟机
- xen系统安装服务器,在CentOS 7系统上安装Xen的方法
- 大逃杀最多100人服务器,疑《使命召唤15》大逃杀模式截图曝光 人数不到100人
- 寻找外贸客户邮箱的9点技巧
- Win10+ubuntu16.04 双系统出现 win10未安装音频设备
- ROG 冰刃 7 双屏笔记本 评测 ROG 冰刃 7参数配置
- 计算机图形学二维图形基本变换实验原理,江苏大学-计算机图形学第三次实验报告-二维图形变换...
- Xilinx DMA IP使用
- kali linux中设置wifi抓包
- GIS当中使用uDig打开shp图层,并查看数据结果