【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

相关文章

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

关于最长递增子序列问题概述

《关于最长递增子序列问题概述》本文详细介绍了最长递增子序列问题的定义及两种优化解法:贪心+二分查找和动态规划+状态压缩,贪心+二分查找时间复杂度为O(nlogn),通过维护一个有序的“尾巴”数组来高效... 一、最长递增子序列问题概述1. 问题定义给定一个整数序列,例如 nums = [10, 9, 2