宾馆房间 hotelroom

【题目描述】:

2180年奥运会竞技类分会场,将在XX市举行。会场自然是政府的事情,我们就别操心了。艾瑞克却被兴奋而苦恼的情绪折磨着,他的宾馆是XX市最好的宾馆,近期旅客投宿的订单m份接踵而至,时间从1~n天,这代表着大把大把的银子,可是他最多只能提供k间客房,更多的他只能提前去租附近的房子并赶紧装修一下,时间很紧啊。

艾瑞克找到了他最好的朋友你:“哪,这是所有的订单,你给我在1s内计算出最高峰时,超出多少间客房,这样我才能知道得去租多少房子啊。”

每张订单包含dj,sj,tj:表示从第sj日至第tj日,预定房间dj间。

住:为了简单起见,假设第一天之前宾馆所有的房间都是空的。

【输入描述】:

第一行包含两个正整数n,m,k,表示天数、订单的数量,和现有客房数。

接下来有m行,每行包含三个正整数dj,sj,tj,表示租借的数量,租借开始、结束分别在第几天。

每行相邻的两个数之间均用一个空格隔开。天数与订单均用从1开始的整数编号。

【输出描述】:

只有一个整数,表示最高峰时还差多少客房,客房足够输出0(骗不到分)。

【样例输入】

【样例输出】

4 3 6

2 1 3

3 2 4

4 2 4

3

【数据范围及描述】:

1<=n,m<=1000,000;1<=sj<=tj<=n;1<=k,dj<=1000;

输入数据较大,最好加外挂

解题思路:

刚拿到这个题目的时候我首先想到的是暴力(分块之类的),后来一看数据范围......经过老师的启发我发现这题需要用差分数组来实现。

首先我们读题,要求是区间内加上某个数,并求整个数组中的最大值(即单点查值),而且数据范围是百万级的,所以只能用差分做。

首先我们把所有数读进来后建立一个差分数组,计算第i个数与第i-1个数的差值。在做区间加法时只需将区间中差分数组的第一个数加上读入的加值、将区间后面一个数减去相同的数,这样就相当于区间内的数被整体加了一个值。最后再将差分数组还原,查找最大值即可。

AC代码:

#include<iostream>
#include<cstdio>
using namespace std;
int n,m,k,d,s,j,ans,sum;
int a[1000005];
int mx(int x,int y){return x>y?x:y;
}
int read(){int x=0, f=1; char c=getchar();while(!isdigit(c)){if(c=='-') f=-1; c=getchar();}while(isdigit(c)){x=x*10+c-'0';c=getchar();}return x*f;
}
int main(){n=read();m=read();k=read();for(int i=1;i<=m;i++){d=read();s=read();j=read();a[s]+=d;a[j+1]-=d;}for(int i=1;i<=n;i++){sum+=a[i];ans=mx(ans,sum-k);}printf("%d",ans);return 0;
}

宾馆房间 hotelroom相关推荐

  1. 宾馆房间管理系统(C++)

    宾馆房间管理系统 一.问题描述 设计一个程序实现对宾馆房间的基本管理,可以实现:客房信息的录入功能:客人入住登记.客人退房结算:客房信息浏览功能,浏览全部客户的信息,客房信息和客户信息分别保存于不同文 ...

  2. 宾馆房间C++一解:宾馆里有一百个房间,从1-100编了号。第一个服务员把所有的房间门都打开,第二个服务员把所有编号是2的倍数的房间相反处理……以后每个服务员都是如此。共100个服务员哪几扇门是打开的

    宾馆房间 题目描述 宾馆里有一百个房间,从1-100编了号.第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是2的倍数的房间"相反处理",第三个服务员把所有编号是3的倍数 ...

  3. 基于idea-SSM的民宿酒店宾馆房间预订管理系统(javaweb-php-asp.netC#-j2ee)包含钟点客房散客团体会员入住离店营业统计分析建议

    目录 1 概述 1.1 用户部分 1.2 管理员部分 2 数据库表 3 关键代码 4 效果演示 1 概述 本系统是为了实现酒店宾馆的电脑化操作,因此酒店宾馆的各项服务基本上全包括在内.本系统主要用于预 ...

  4. 【宾馆房间开门问题】

    问题描述 宾馆里有100个房间,从1-100编了号.第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是2的倍数的房间作"相反处理",第三个服务员把所有编号是3的倍数的房间 ...

  5. 问题 A: 宾馆房间开门问题

    题目描述 宾馆里有100个房间,从1-100编了号.第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是2的倍数的房间作"相反处理",第三个服务员把所有编号是3的倍数的房间 ...

  6. 计算机教室冷量负荷,空调设计时,楼层或者个别房间的空调冷负荷是怎样确定的...

    空调设计时,楼层或者个别房间的空调冷负荷是怎样确定的 室内冷量的计算: 空调房间所需冷量与房间用途.房间朝向.所处楼层以及房间面积等因素有关.一般用单位面积负荷乘以房间面积进行计算.单位面积耗冷量我们 ...

  7. 简单的信息管理应用(宾馆订房系统项目)

    一.需求分析        软件的功能要求:用户可以根据自己的需求选择订房.退房.浏览所有信息.根据身份证号查询个人信息.根据姓名查询个人信息的功能,并且能够根据用户的需求显示出操作提示,十分便利,已 ...

  8. C++实现宾客房间管理系统

    通过对c++课程的学习,我了解到了其面向对象的高级特性,我决定使用它实现一个宾馆客房管理系统,模拟一个实际宾馆客房系统的运行,下面我就将这个系统的实现思路说明一下. 作为一个宾馆客房间管理系统,必然涉 ...

  9. 【C++例程】:宾馆客房管理系统

    目录 宾馆客房管理系统 1 设计思路及总体设计 2 订房功能的c++实现: 3 入住登记功能的c++实现: 宾馆客房管理系统 1 设计思路及总体设计 通过对c++课程的学习,我了解到了其面向对象的高级 ...

最新文章

  1. enable_shared_from_this理解
  2. 那些值得回味的MySQL的基础知识
  3. map std 浮点数索引_std:map中的浮点键
  4. 如何使用jsp自定义标签 JspTag 使用入门
  5. python 快速排名发包_2020年SEO快速排名发包技术及原理
  6. Android——Intent动作汇总(转)
  7. 四维空间引发-维度空间(0-10)来自我的教授的班长
  8. volatile的学习总结
  9. 使用代理同步Chromium代码的心得(V2.0)
  10. 如何使用recordMyDesktop录制截屏视频
  11. python+flask编写一个简单的登录接口例子
  12. java 远程监控文件系统_Java 文件系统监控(WatchService)
  13. Java通过 p12 建立ssl链接
  14. win7原版iso镜像下载 windows7官方原版全系列(正式版、专业版、企业版、家庭版)下载
  15. Linux查看Tomcat版本信息
  16. python飞机大战怎么将图片保存_Python飞机大战完整素材包(字体音乐图片)
  17. 如何巧妙将流量转化为销量?
  18. 模拟轮盘抽奖游戏:一等奖、二等奖、三等奖
  19. 攻防世界 reverse新手题 logmein
  20. 怎样设定目标(一)——目标金字塔

热门文章

  1. 拳头游戏潘诚伟:《英雄联盟》插画经验分享
  2. 什么是开源的「第一性原理」?
  3. adf被打开_hp一体机上显示adf门打开怎样关闭
  4. 一文看懂新冠肺炎国际疫情现状局势
  5. 基于imx6q平台移植usbwifi: rt5370sta
  6. 3D绘图ax.plot_surface()
  7. 为你详细解读HTTP请求头的具体含意
  8. sql 累计占比_sql统计占比和统计数量
  9. lombok插件失效解决
  10. 【工具】强大的视频下载软件IDM(Internet Download Manager)