COGS——T 2739. 凯伦和咖啡

http://www.cogs.pro/cogs/problem/problem.php?pid=2739

★★☆   输入文件:coffee.in   输出文件:coffee.out   简单对比
时间限制:1 s   内存限制:512 MB

【题目描述】

为了在上课时保持清醒,凯伦需要一些咖啡。咖啡爱好者凯伦想知道最佳的温度来冲煮完美的咖啡。因此,她花了一些时间阅读几本食谱,其中包括广受好评的“咖啡的艺术”。

她知道有n个食谱,其中第i个食谱建议应当在li和ri度之间冲煮以达到最佳的味道。凯伦认为如果至少k个食谱推荐某个温度,那么那个温度是可以接受的。

凯伦的性格比较多变,因此她会问q个问题,对于每一个问题,她会给出一个温度区间[a,b],你要告诉她有多少可接受的整数温度在这个范围内。

【输入格式】

第一行输入包含三个整数,n,k(1≤k≤n≤200000)和q(1≤q≤200000),如题中所描述。

接下来n行描述每一个食谱,具体来说,其中的第i行包含两个整数li和ri(1≤li≤ri≤200000),描述第i个食谱建议咖啡在li和ri度之间进行冲煮(包括端值)。

接下来q行为q个询问。这些行中的每一行都包含a和b,(1≤a≤b≤200000),表示她想知道a和b度之间的可接受的整数温度的数量,包括a和b。

【输出格式】

对于每个询问,一行输出一个答案。

【样例输入】

3 2 4

91 94

92 97

97 99

92 94

93 97

95 96

90 100

【样例输出】

3

3

0

4

【提示】

数据进行了更新,卡掉了部分暴力程序。

【来源】

线段树//分块//(好像有线性作法呃呃呃)

 1 #include <cstdio>
 2
 3 const int N(200000+5);
 4 int n,q,k;
 5 struct Tree
 6 {
 7     int l,r,sum,flag,ret;
 8 }tr[N<<2];
 9 #define lc (now<<1)
10 #define rc (now<<1|1)
11 #define mid (tr[now].l+tr[now].r>>1)
12 void Tree_build(int now,int l,int r)
13 {
14     tr[now].l=l,tr[now].r=r;
15     if(l==r)
16     {
17         tr[now].flag=1;
18         tr[now].sum=0;
19         return ;
20     }
21     Tree_build(lc,l,mid);
22     Tree_build(rc,mid+1,r);
23 }
24 void Tree_add(int now,int l,int r)
25 {
26     if(tr[now].l>=l&&tr[now].r<=r)
27     {
28         tr[now].sum++;
29         return ;
30     }
31     if(r<=mid) Tree_add(lc,l,r);
32     else if(l>mid) Tree_add(rc,l,r);
33     else Tree_add(lc,l,mid),Tree_add(rc,mid+1,r);
34 }
35 int Tree_query(int now,int l,int r)
36 {
37     if(tr[now].l==l&&tr[now].r==r) return tr[now].sum;
38     if(r<=mid) return Tree_query(lc,l,r);
39     else if(l>mid) return Tree_query(rc,l,r);
40     else return Tree_query(lc,l,mid)+Tree_query(rc,mid+1,r);
41 }
42 void Tree_push(int now)
43 {
44     if(tr[now].flag)
45     {
46         if(tr[now].sum>=k) tr[now].sum=1;
47         else tr[now].sum=0;
48         return ;
49     }
50     tr[lc].sum+=tr[now].sum;
51     tr[rc].sum+=tr[now].sum;
52     tr[now].sum=0;
53     Tree_push(lc); Tree_push(rc);
54     tr[now].sum=tr[lc].sum+tr[rc].sum;
55 }
56
57 inline void read(int &x)
58 {
59     x=0; register char ch=getchar();
60     for(;ch>‘9‘||ch<‘0‘;) ch=getchar();
61     for(;ch>=‘0‘&&ch<=‘9‘;ch=getchar()) x=x*10+ch-‘0‘;
62 }
63
64 #define swap(a,b) {int tmp=a;a=b;b=tmp;}
65 int AC()
66 {
67     freopen("coffee.in","r",stdin);
68     freopen("coffee.out","w",stdout);
69     read(n),read(k),read(q);
70     Tree_build(1,1,N);
71     for(int l,r;n--;)
72     {
73         read(l),read(r);
74         if(l>r) swap(l,r);
75         Tree_add(1,l,r);
76     }
77     Tree_push(1);
78     for(int l,r;q--;)
79     {
80         read(l),read(r);
81         if(l>r) swap(l,r);
82         printf("%d\n",Tree_query(1,l,r));
83     }
84     return 0;
85 }
86
87 int Hope=AC();
88 int main(){;}
时间: 2024-10-06 06:35:31

COGS——T 2739. 凯伦和咖啡的相关文章

9.2模拟赛

cogs 比赛名称 树立信心的模拟赛 T1 2739. 凯伦和咖啡 时间限制:1 s   内存限制:512 MB [题目描述] 为了在上课时保持清醒,凯伦需要一些咖啡.咖啡爱好者凯伦想知道最佳的温度来冲煮完美的咖啡.因此,她花了一些时间阅读几本食谱,其中包括广受好评的"咖啡的艺术". 她知道有n个食谱,其中第i个食谱建议应当在li和ri度之间冲煮以达到最佳的味道.凯伦认为如果至少k个食谱推荐某个温度,那么那个温度是可以接受的. 凯伦的性格比较多变,因此她会问q个问题,对于每一个问题,她

COGS基本法初稿

COGS基本法 序言 我们COGS人民,为建立更完善的联盟,树立正义,保障网络安宁,提供公共OJ,杜绝极少数恐怖分子对我OJ的破坏行为,并使我们自己和OIER得享自由的幸福,特为COGS制定本基本法. 第一条权利机构 权利机构由老常为领导核心的第一代领导集体及COGS QQ群的元老组成,COGS的权力机构为君主立宪制,其中老常为世袭君主,议会由首相刘易铖,长老王梦迪,内阁大臣张灵犀,外交大臣张子昂.国家工程师李冬麟组成.首相.内阁大臣.外交大臣必须由河南省实验中学有着良好素质和学习水平的学生组成

咖啡种类华润紫竹毓婷品牌获2013中国创新营销案例奖你知道这些健紫竹药业3

[怎样减少腹胀气]1.少量多餐.2.彻底咀嚼食物,帮助消化.3.坐直吃.4.避免碳酸饮料.5.避免高脂食物,因消化的慢,食物会徘徊在结肠而肠道细菌会产生更多的气体.6.每天运动,维持健康的肠道功能.7.避免会胀气的食物.8.薄荷,洋甘菊,或茴香茶,可助缓解腹胀. 华润紫竹毓婷品牌获"2013中国创新营销案例奖" [水果要吃对时间]1.早上最宜:苹果.梨.葡萄.人的胃肠经过一夜休息之后,适合食用酸性不太强.涩味不太浓的水果.2.餐前别吃:圣女果.橘子.山楂.香蕉.柿子.有一些水果是不可以

COGS——T 8. 备用交换机

http://www.cogs.pro/cogs/problem/problem.php?pid=8 ★★   输入文件:gd.in   输出文件:gd.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] n个城市之间有通讯网络,每个城市都有通讯交换机,直接或间接与其它城市连接.因电子设备容易损坏,需给通讯点配备备用交换机.但备用交换机数量有限,不能全部配备,只能给部分重要城市配置.于是规定:如果某个城市由于交换机损坏,不仅本城市通讯中断,还造成其它城市通讯中断,则配

COGS——C2098. Asm.Def的病毒

http://www.cogs.pro/cogs/problem/problem.php?pid=2098 ★☆   输入文件:asm_virus.in   输出文件:asm_virus.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] “这就是我们最新研制的,世界上第一种可持久化动态计算机病毒,‘创世纪’.”方教授介绍道. “哦.”主席面无表情地点点头. “‘创世纪’无法真正杀死透明计算网络,但是可以把它变成傻子.可惜透明计算网络能轻松地辨认出病毒,所以我建议……

用上个世纪思维运营的创业咖啡 怎能不倒

萦绕在他们头顶的,大多是各种优惠政策的利好刺激,也就是还停留在上世纪的招商引资路数上. 文/张书乐 刊载于<株洲日报>11月7日天台时评版 去年火热异常的创业咖啡热,到了今年下半年,冷了.这不,去年在长沙河西大学城开业的库可咖啡,一开业就迎来了10个大学生创业团队入驻,然而半年多时间下来,不但常驻团队数变成了0,连用来展示创业者成就的2楼,也转型成了书吧.类似这样的创业咖啡.众创空间转型甚至倒闭的例子还有许多,株洲有没有类似的情况,没见到报道,没有发言权,但在全国各大城市,确实已经成了个见怪不

给自己端上一杯热咖啡

昨天下午到今天下午,我一直在做一件事情,那就是照着考纲复习考试内容.我要考的是上海市java二级.这一次我选择了, 从后往前复习.难点和重点往往都在考纲的后面.这些被列出来的考纲,没有什么我不熟悉的知识点.但是总有那种提笔忘字的感觉! 不精通才是我学习每门语言的不足之处. 无疑,我的大多数不足都被放大了.可是这次,我再也没有感觉到从前考试的无所适从.相反,我十分冷静.只要是碰到自己熟悉的 知识点,我都会全力再次理解,对需要敲的代码,我耐心地敲上去.自我检测真是个极好的办法,通过这个你能深刻认识到

第一小组咖啡机器人最终结果

首先,我先向小组成员致歉,没能按时完成任务,机器人动画界面没有完全和咖啡界面联系起来.主要原因是我对opengl的不熟悉,昨天学习opengl一天. 下面简要说下小组完成的任务:界面是我一人完成,登陆界面和咖啡界面的两张图是小组成员孙胜设计. 1.登陆界面       2.员工信息增加.修改和删除 3.查看每月销售情况 4.咖啡界面 5.动画:图中的矩形代表咖啡杯,大杯和小杯,竖排的分别代表咖啡类型:拿铁.摩卡.蓝山.卡布奇诺,配料:砂糖.方糖.鲜奶.奶油 机器人两个手臂可分别工作

COGS 497——奶牛派对

http://218.28.19.228/cogs/problem/problem.php?pid=497 我们发现每头牛需要走的路程即为它到x的最短路+x到它的最短路. 转化: 于是这道题变成了一道典型的单源最短路问题,只需求出每个点到x的最短路dl,以及从x到此点的最短路d2,然后去找max(dl+d2)即可. 效率分析: 使用dijsktra算法,时间复杂度为O(n^2). [我的程序] 1 type aa=array[1..1000,1..1000] of longint; 2 var