description


analysis

  • 从求联通块出发根本没做法,于是考虑连通块里面的边

  • 对于一个询问\([l,r]\),一条边的左端点\(≥l\)且右端点\(≤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. 飘雪圣域(icekingdom)

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

  2. [CSP-S模拟测试]:飘雪圣域(莫队)

    题目描述 $IcePrincess\text{_}1968$和$IcePrince\text{_}1968$长大了,他们开始协助国王$IceKing\text{_}1968$管理国内事物. $IceP ...

  3. csps模拟测试74梦境,玩具,飘雪圣域题解

    题面:https://www.cnblogs.com/Juve/articles/11679226.html 梦境: 其实还是挺水的,排序错了过不了样例,打了个二分图匹配就跑了 #include< ...

  4. 「10.15」梦境(贪心)·玩具(神仙DP)·飘雪圣域(主席树\树状数组\莫队)

    A. 梦境 没啥可说的原题.... 贪心题的常见套路我们坐标以左端点为第一关键字,右端点为第二关键字 然后对于每个转折点,我们现在将梦境中左端点比他小的区间放进$multiset$里 然后找最近的右端 ...

  5. [考试反思]1015csp-s模拟测试74:压迫

    其实同时也是第27,一大片并列的. 真的是越考越烂. T1是个弱化的贪心原题,15分钟拿下没什么可说的. T2打的记忆化搜索,hash_mod太小撞哈希了,50->30 T3,想不到正解,90分 ...

  6. [CSP-S模拟测试74]题解

    A.梦境 如果不用去重一定要用Multiset……挂30分算是出题人手下留情了. 贪心.把点排序,区间按右端点递增排序.依次考虑每个区间,取能选的最靠左的点即可.multiset维护. #includ ...

  7. 2017了,回家前 "年末" 分享:下雨,飘雪,红包雨,碰撞球,自定义View

    (本博客为原创:http://www.cnblogs.com/linguanh/) 目录: 效果展示 感想 代码拆解 开源地址 效果展示 有没有兴趣继续看下去,直接看下"颜值"是第 ...

  8. css3写出飘雪花特效

    大冬天的,飘雪花的特效,你可能要用上了吧.通常情况下用jQuery写飘雪花的特效,但用css3写,其实特别简单,新手一看就懂,那就告别jQuery,用css3轻松搞定飘雪花特效吧! 点击查看特效演示 ...

  9. 如何在你的blog中添加炫酷的飘雪动画效果

    将下面的代码复制到你的设置栏下页眉html代码框中即可 <script> (function($){$.fn.snow=function(options){,maxSize:,newOn: ...

随机推荐

  1. Mac下homebrew的安装与卸载

    mac系统常用的软件安装工具就是homebrew 个人认为通过brew安装比较简单,下面介绍下如何安装 安装和卸载homebrew 安装 /usr/bin/ruby -e "$(curl - ...

  2. Leetcode 200.岛屿的数量 - DFS、BFS

    Leetcode 200 岛屿的数量: DFS利用函数调用栈保证了检索顺序, BFS则需要自己建立队列,把待检索对象按规则入队. class Solution { // DFS解法,8ms/10.7M ...

  3. python_django_类视图的第一次忐忑碰触!!!

    我们Django学到这里,基础知识阶段是已经完成了!! 在我们前面接触到的视图都是基于函数的视图函数我们可以称它为FBV,而今天我们新接触的就是视图函数的另一类CBV:基于类的视图函数,我们这里拓展这 ...

  4. json数据返回数字,页面显示文字处理

    var obj = { 1:'你好1', 2:'你好2', 3:'你好3' } var e = obj[1]; e; //'你好1'

  5. Database - 数据库隔离级别

    总结 数据库在并发的情况下,可能会出现: 脏读 不可重复读 --> 原因:UPDATE操作 幻读 --> 原因:INSERT/DELETE操作 为了避免以上问题,数据库事务增加隔离级别,来 ...

  6. Dart编程实例 - HelloWorld

    Dart编程实例 - HelloWorld void main() { print('hello world'); } 本文转自:http://codingdict.com/article/23399

  7. MyEclipse6.0中使用aptana插件,添加jquery提示功能

    MyEclipse6.0中使用aptana插件,添加jquery提示功能 第一:查看当前MyEclipse集成的eclipse的版本,, 查看路径    D:/MyEclipse 6.0/eclips ...

  8. RFS自动化测试工具安装与使用总结

    转载:http://blog.csdn.net/a5650892/article/details/77826021 一,调试1,在调试时,总时提示“无法打开浏览器”解决办法:1,把浏览器的代理关闭2, ...

  9. Java-Class-C:com.github.pagehelper.PageHelper

    ylbtech-Java-Class-C:com.github.pagehelper.PageHelper 1.返回顶部   2.返回顶部 1.1. import com.github.pagehel ...

  10. Centos7 安装 telnet 服务

    准备写一个 django-webtelnet(运维管理系统集成后管理网络设备),但是手边没有现成的网络设备资源可以测试,那就研究下 Centos7 下安装 telnet-server 吧. 安装 yu ...