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】飘雪圣域相关推荐

  1. 20190218【梦境】【玩具】【飘雪圣域】

    贪心 玄学DP 树状数组 T1[梦境] WOJ 707070分 网络流跑二分图 #include<bits/stdc++.h> using namespace std; inline in ...

  2. 飘雪圣域(icekingdom)

    飘雪圣域(icekingdom) 题目描述 IcePrincess_1968 和 IcePrince_1968 长大了,他们开始协助国王 IceKing_1968 管理国内事物. IcePrinces ...

  3. #3985. 飘雪圣域(icekingdom)

    题目描述 IcePrincess_1968 和 IcePrince_1968 长大了,他们开始协助国王 IceKing_1968 管理国内事物. IcePrincess_1968 和 IcePrinc ...

  4. ssoj3985: 飘雪圣域(icekingdom)

    时间限制: 1 Sec 内存限制: 256 MB 提交: 36 解决: 19 [提交][状态][博客][加入收藏] 题目描述 IcePrincess_1968 和 IcePrince_1968 长大了 ...

  5. 【提高测试】飘雪圣域(树状数组)

    描述 ​ IcePrincess_1968 和 IcePrince_1968 长大了,他们开始协助国王 IceKing_1968 管理国内事物. ​ IcePrincess_1968 和 IcePri ...

  6. 【数据结构】【离线操作】飘雪圣域

    ​ [题目描述] IcePrincess_1968 和 IcePrince_1968 长大了,他们开始协助国王 IceKing_1968 管理国内事物. ​ IcePrincess_1968 和 Ic ...

  7. 飘雪圣域 [树状数组(二维偏序)]

    飘 雪 圣 域 飘雪圣域 飘雪圣域 正 解 部 分 \color{red}{正解部分} 正解部分 首 先 要 知 道 : 首先要知道: 首先要知道: 若给定一个区间 [ l , r ] [l, r] ...

  8. [WOJ4379] 飘雪圣域 [主席树]

    传送门 每次询问点的个数是r-l+1, 那么联通块个数就是总点数减去边的个数 考虑哪些边有贡献, 令边为l,r (l<r), 那么ql <= l < r <= qr 的边有贡献 ...

  9. [树状数组]飘雪圣域

    没找到传送门(这是校内的) 题意:给一棵树,多次询问编号在l到r中的点组成的连通块个数 考试的时候一直在想奇怪的做法,用的都是树上维护的知识(比如已经被某C姓神仙卡掉的虚树+树剖+二分) 其实这道题根 ...

最新文章

  1. 巧用CSS提升表格呈现性能
  2. 小型化RDA5807调频收音模块实验板
  3. python数据展示平台_Python获取各大地图平台经纬度数据,哪家的数据最准确?
  4. Ch5501-环路运输【环形处理dp】
  5. hadoop和kerberos的整合总结
  6. 云图说|不要小看不起眼的日志,“小日志,大作用”
  7. Spring Boot + Spring Cloud 实现权限管理系统 配置中心(Config、Bus)
  8. 使用“npm init”初始化项目
  9. Code Chef - Chef and Graph Queries
  10. [Windows] 【强力推荐】可以将任何格式的文档免费转换为高质量PDF文件的软件,珍藏宝贝!!!
  11. The 2018 ACM-ICPC Asia Qingdao Regional Contest (Mirror)
  12. 模拟电子电路基础——放大器理解与梳理
  13. 【面试题 - mysql】进阶篇 - 索引
  14. 机器学习入门:入手sklearn框架+线性回归+案例(基金数据的预测)
  15. Python 之圆周率 π 的计算
  16. 如何求卡方分布的P值
  17. LeetCode-344
  18. Google Earth Engine(GEE)——影像导出谷歌硬盘发生错误Error: Exported bands must have compatible data types
  19. 英语口语201之每日十句口语
  20. 计算机格式化系统,Win7电脑怎么进行格式化?

热门文章

  1. Esxi 6,7,8,将USB键盘鼠标直通到虚拟机
  2. xen系统安装服务器,在CentOS 7系统上安装Xen的方法
  3. 大逃杀最多100人服务器,疑《使命召唤15》大逃杀模式截图曝光 人数不到100人
  4. 寻找外贸客户邮箱的9点技巧
  5. Win10+ubuntu16.04 双系统出现 win10未安装音频设备
  6. ROG 冰刃 7 双屏笔记本 评测 ROG 冰刃 7参数配置
  7. 计算机图形学二维图形基本变换实验原理,江苏大学-计算机图形学第三次实验报告-二维图形变换...
  8. Xilinx DMA IP使用
  9. kali linux中设置wifi抓包
  10. GIS当中使用uDig打开shp图层,并查看数据结果