ssl2647-线段树练习4【线段树】

正题


题意

一条长m线,有n条长度不同的线段,查询x到x+1有多少条线
ssl


解题思路

标记直接覆盖颜色数,然后找到那个点,之后向上到根节点把所有叠加的线统计


代码

#include<cstdio>
#include<cstring>
using namespace std;
struct xjq{int l,r,cover;
}tree[400000];
int n,ll,rr,w,s,cl,h,m;
void build(int x,int a,int b)//建树
{tree[x].l=a;tree[x].r=b;if (b-a==1) return;else{int m=(a+b)/2;build(x*2,a,m);build(x*2+1,m,b);}
}
void inster(int x,int a,int b)//插入
{if (tree[x].l==a && tree[x].r==b){tree[x].cover++;return;//标记数}int m=tree[x*2].r;if (b<=m) inster(x*2,a,b);else if (a>=m) inster(x*2+1,a,b);else{inster(x*2,a,m);inster(x*2+1,m,b);}return;
}
void find(int x,int a,int b)//查找点
{if (tree[x].l==a && tree[x].r==b){h=x;return;}int m=tree[x*2].r;if (b<=m) find(x*2,a,b);else if (a>=m) find(x*2+1,a,b);else{find(x*2,a,m);find(x*2+1,m,b);}
}
int main()
{scanf("%d%d",&m,&n);build(1,1,m);for (int i=1;i<=n;i++){scanf("%d%d",&ll,&rr);inster(1,ll,rr);}scanf("%d%d",&ll,&rr);s=0;find(1,ll,rr);while (h!=0)//向上统计{if(tree[h].cover>0) s+=tree[h].cover;h/=2;}printf("%d\n",s);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记得完成寒假作业~

今天&#xff0c;对于学生们来说&#xff0c;没有比这在开心的日子了&#xff0c;因为&#xff0c;他们放假了&#xff01;&#xff01;&#xff01;有的同学&#xff0c;周一来了就开始盼望着周五&#xff0c;每天都扳着手指头数还剩几天才能到周五&#xff0c;周一心里就想&a…

数据库的最简单实现

转载自 数据库的最简单实现 所有应用软件之中&#xff0c;数据库可能是最复杂的。MySQL的手册有3000多页&#xff0c;PostgreSQL的手册有2000多页&#xff0c;Oracle的手册更是比它们相加还要厚。 但是&#xff0c;自己写一个最简单的数据库&#xff0c;做起来并不难。Reddi…

Raft协议安全性保证

分布式系统中主要的问题就是如何保持节点状态的一致性&#xff0c;不论发生任何failure&#xff0c;只要集群中大部分的节点可以正常工作&#xff0c;则这些节点具有相同的状态&#xff0c;保持一致&#xff0c;在client看来相当于一台机器。 一致性问题本质就是replicated sta…

2021,春节联欢会

今天,3班和4班都组织了春节联欢会,每个节目都是有同学们精心准备的,非常非常的精彩。 上午,搬着电脑去上课的时候,发现黑板上已经被红红的彩带占上了,估计学生们这时候的心理就是,应该不能上课了吧。然后我就在“众目睽睽”下拆下来,将投影仪幕布放下来继续上课,哈哈哈…

网关过滤

内置网关过滤 自定义过滤

ssl2648-线段树练习5【线段树】

正题 题意 经典线段树题&#xff0c;不过是单点修改。 解题思路 直接线段树 代码 #include<cstdio> using namespace std; struct treenode{int l,r,cover; }tree[400000]; int n,m,x,y; char c; void build(int k,int a,int b)//线段树 {tree[k].la;tree[k].rb;if (a…

你,的寒假作业写多少了?

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。一晃寒假已过10多天&#xff0c;亲爱的同学们&#xff0c;你的寒假作业写多少了&#xff1f;是一点都没动呢还是多少动了点了&#xff1f;昨天晚上在3班的群里发了几套课程&#xff0c;刚发就有几位同学…

10亿个数中找出最大的10000个数

转载自 海量数据处理 - 10亿个数中找出最大的10000个数&#xff08;top K问题&#xff09; 前两天面试3面学长问我的这个问题&#xff08;想说TEG的3个面试学长都是好和蔼&#xff0c;希望能完成最后一面&#xff0c;各方面原因造成我无比想去鹅场的心已经按捺不住了&#xff…

MassTransitamp;amp;Sagas分布式服务开发ppt分享

saga&#xff0c;与分布式相关&#xff0c;最早被定义在Hector Garcia-Molina和Kenneth Salem的论文"Sagas"中。这篇论文提出了一个saga机制来作为分布式事务的替代品以解决长时间运行的分布式事务&#xff08;long-running process&#xff09;的问题。这篇论文认为…

全局过滤器

自定义全局过滤器

zoj1610-Count the Colors【线段树】

正题 题目&#xff1a; http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId610 题意 有一条长m的线&#xff0c;有n条长度和颜色不同的线段&#xff0c;每个颜色可以看到的段数。 解题思路 标记颜色-2表示有多种颜色&#xff0c;然后用color表示上次的颜色以去重…

科目三步骤

上车前: 右后边下车,走到副驾外面:报告考官,请验证!走到车的左前角,左右看看。走到车的右后角,左右看看。围绕车走到驾驶室外面,先喊报告,在拉车门。上车时,右手抓方向盘,左右抓车门,往上座上车后: 系安全带,调整座椅。检查挡是否是空挡,灯光时候归为(注意远光灯…

最长回文子串(Longest Palindromic Substring)

转载自 最长回文子串&#xff08;Longest Palindromic Substring&#xff09;——三种时间复杂度的解法 子串&#xff1a;小于等于原字符串长度由原字符串中任意个连续字符组成的子序列 回文&#xff1a;关于中间字符对称的文法&#xff0c;即“aba”(单核)、“cabbac”(双核)…

小白入门级的视频剪辑软件

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。前言昨天&#xff0c;给班级群里面分享了个视频剪辑软件——剪映PC端&#xff0c;并交代同学们&#xff0c;剪辑视频可以以它来入手&#xff0c;我大致的看了看&#xff0c;PC端的剪映功能基本上能满足…

P3368-Frequent values【线段树】

正题 链接&#xff1a;http://poj.org/problem?id3368 大意 给出一个不下降序列&#xff0c;求一个区域内最多相同的数的出现次数。 解题思路 线段树 用left表示左边的连续个数&#xff0c;right表示右边的连续个数&#xff0c;maxs表示最长的连续个数&#xff0c;然后比较…

DDD理论学习系列(12)-- 仓储

1. 引言 DDD中Repository这个单词&#xff0c;主要有两种翻译&#xff1a;资源库和仓储&#xff0c;本文取仓储之译。 说到仓储&#xff0c;我们肯定就想到了仓库&#xff0c;仓库一般用来存放货物&#xff0c;而仓库一般由仓库管理员来管理。当工厂生产了一批货物时&#xf…

Windows 通过 SecureCRT 8.x 上传文件到Linux服务器

转载自 Windows 通过 SecureCRT 8.x 上传文件到Linux服务器 1、SecureCRT 连接 Linux 服务器&#xff0c;这一步操作简单&#xff1a; 2、连接并登录成功后&#xff0c;直接在连接成功的页签上 右键 -> Connect SFTP Session 打开SFTP窗口&#xff1a; 3、在新的SFTP页签…