【QED】小樱的问题

2023-12-09 20:53
文章标签 问题 qed 小樱

本文主要是介绍【QED】小樱的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 题目描述
    • 输入格式
    • 输出格式
  • 测试样例
    • 样例说明
  • 思路
  • 核心代码

题目描述

f u f u fufu fufu乐园,每天都会有各种各样精彩的内容发生。就比如说,今天,小樱的米饭店开张啦!

为了吸引 f u f u fufu fufu们前来购买小樱的大米,小樱决定设置一个问题来吸引 f u f u fufu fufu们!如果有 f u f u fufu fufu可以解决这个问题,那么这位 f u f u fufu fufu每周都可以去小樱的米饭店免费吃一次米饭大餐!当然,为了不让太多的 f u f u fufu fufu成功白嫖到小樱的大米,这个问题还是需要一些思考的!

小樱的问题是什么呢?首先,小樱会给你很多个一维数轴上线段的左端点和右端点,既然有很多个线段,那么就很可能会有交叉的地方啦!小樱的问题就是,让你求出有多少个整数被至少两个线段覆盖。同时,小樱定义了重叠部分,当一个区间至少有包含两个线段,那么这个区间就被定义为重叠部分。

众所周知,大傻最最最喜欢吃大米了,但是大傻又太傻了,解决不了小樱出的问题。大傻只知道,你最最最喜欢大傻了。为了得到更多的大米,大傻想要你帮她解决小樱的问题,使她得到每周免费吃大餐的机会。作为补偿,你可以和大傻一起去吃大米 (这可是大傻的邀请欸)!

那么,聪明的,你告诉我,你可以解决大傻的问题吗?

输入格式

1 1 1行包含一个整数 n n n, 表示线段的个数 第 2 2 2行至第 n + 1 n+1 n+1行,每行包含两个数 l l l r r r,各自代表线段的左段点和右端点

输出格式

仅输出 1 1 1个整数,代表被至少两个线段覆盖的数的数量

测试样例

3
1 4
2 5
6 9
3
6
1 10
10 20
20 30
30 40
40 50
50 60
5
3
-1 2
1 4
2 5
4
3
1 1000
500 101000
99999 1000000
1503

数据范围:

1 < = n < = 1000000 1<= n <= 1000000 1<=n<=1000000

− 1000000 < = l < r < = 1000000 -1000000<=l<r<=1000000 1000000<=l<r<=1000000

样例说明

样例 1 1 1解释

image.png

重叠部分有 [ 2 , 4 ] [2, 4] [2,4] 2 , 3 , 4 2, 3, 4 234,答案是 3 3 3

样例 2 2 2解释

image.png

重叠部分是 [ 10 , 10 ] , [ 20 , 20 ] , [ 30 , 30 ] , [ 40 , 40 ] , [ 50 , 50 ] [10, 10], [20, 20], [30, 30], [40, 40], [50, 50] [10,10],[20,20],[30,30],[40,40],[50,50] 10 , 20 , 30 , 40 , 50 10 ,20, 30, 40, 50 1020304050,答案是 1 + 1 + 1 + 1 + 1 = 5 1 + 1 + 1 + 1 + 1 = 5 1+1+1+1+1=5

样例 3 3 3解释

image.png

重叠部分是 [ 1 , 4 ] [1, 4] [1,4] ,即 1 , 2 , 3 , 4 1, 2, 3, 4 1234,答案是 4 4 4

样例 4 4 4解释

重叠部分是 [ 500 , 1000 ] , [ 99999 , 101000 ] [500, 1000], [99999, 101000] [500,1000],[99999,101000]答案是 501 + 1002 = 1503 501 + 1002 = 1503 501+1002=1503

思路

这道题目是求重合的线段有多少个,本题中出现的所有的点都是整数,那我们就对线段上所有的数离散化,然后就就可以使用前缀和进行区间加法的操作,这里不难理解,因为多加上一个线段就意味着这个区间上的所有点的值需要加一。

核心代码

#include <iostream>
using namespace std;long long arr[100000005];int main() {int n;cin>>n;long long x,y;for(int i=0;i<n;++i){scanf("%lld%lld",&x,&y);x+=1000000;y+=1000000;arr[x]++;arr[y+1]--;}long long sum=0;int ans=0;for(int i=0;i<1e7;++i){sum+=arr[i];if(sum>1)ans++;}cout<<ans;return 0;
}

这篇关于【QED】小樱的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/475021

相关文章

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决