首页 > 其他分享 >华为机试0828||参加博览会

华为机试0828||参加博览会

时间:2024-09-09 22:16:47浏览次数:3  
标签:小明 0828 参加 博览会 样例 华为 endi 机试 day

第三题

题目:参加博览会

有n场编号从0到n−1的博览会将要举办,编号为i的的博览会举办时间为[starti,endi],即从第starti天到第endi天,包含第starti天和第endi天。

小明计划参加这些博览会,每天最多可以参加k场博览会。请问小明最多可以参加多少场博览会。需注意,小明不需要全程参加一场博览会,只需要在某一天参加即可。

输入描述

第一行输入包含两个整数n和k,n表示博览会的数量,k表示每天最多可以参加的博览会的数量,1≤n≤10^4,1≤k≤10。

以下n行每行包含两个整数start和end,表示第i场博览会的举办时间,1≤starti≤endi≤10^9。

输出描述

小明最多能参加的博览会数量。

样例输入一

3 1 1 2 2 3 1 1

样例输出一

3

说明

小明每天可以参加1场博览会,那么他可以在第1天参加第三场博览会,第2天参加第一场博览会,第3天参加第二场博览会,因此最多可以参加3场博览会。

样例输入二

5 2 1 1 2 2 1 2 2 2 1 1

样例输出二

4

说明

小明每天可以参加2场博览会,那么他可以在第1天参加第一场博览会和第五场博览会,第2天参加第二场博览会和第三场博览会,因此最多可以参加4场博览会。



题解:

1. 比较函数 `cmp`:按照博览会的开始时间升序排序,如果开始时间相同,则按照结束时间升序排序。

2. Work 函数

功能:计算小明最多可以参加多少场博览会。
变量解释:
day:当前处理的天数。
cnt:当前天小明参加的博览会数量。
ans:小明参加的博览会总数量。

逻辑:
如果 `day` 为0,表示当前没有处理的天数,更新为当前博览会的开始时间。
如果当前天数 `day` 在博览会的时间范围内,并且当天参加的博览会数量没有超过限制 `k`,则增加参加数量。
如果当天参加的博览会数量超过了限制 `k`,检查下一天是否在博览会的时间范围内,更新天数。
如果当前天数不在博览会的时间范围内,更新为当前博览会的开始时间。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 bool cmp(const pair<int,int>&a,const pair<int,int>&b){
 4     if(a.first<b.first)return 1;
 5     if(a.first>b.first)return 0;
 6     return a.second<b.second;
 7 }
 8 int Work(int&n,const vector<pair<int,int> >&a,int&k){
 9     int day=0,cnt=0,ans=0;
10     for(int i=1;i<=n;i++){
11         if(day==0){
12             day=a[i].first;
13             cnt++;
14             ans++;
15         }
16         else{
17             if(day>=a[i].first&&day<=a[i].second){
18                 if(cnt<k){
19                     cnt++;
20                     ans++;
21                 }
22                 else{
23                     if(day+1<=a[i].second){
24                         day++;
25                         cnt=1;
26                         ans++;
27                     }
28                     else{
29                         day=0;
30                         cnt=0;
31                     }
32                 }
33             }
34             else{
35                 day=a[i].first;
36                 cnt=1;
37                 ans++;
38             }
39         }
40     }
41     return ans;
42 }
43 int main(){
44     ios_base::sync_with_stdio(false);
45     cin.tie(NULL);
46     int n,k;
47     cin>>n>>k;
48     vector<pair<int,int> >a(n+1);
49     for(int i=1;i<=n;i++){
50         int s,e;
51         cin>>s>>e;
52         a[i]=make_pair(s,e);
53     }
54     sort(a.begin(),a.end(),cmp);
55     cout<<Work(n,a,k);
56     return 0;
57 }

 

标签:小明,0828,参加,博览会,样例,华为,endi,机试,day
From: https://www.cnblogs.com/AlenaNuna/p/18405450

相关文章

  • 百年码头遇见数智化:华为和天津港解锁新质生产力
     著名经济学家约瑟夫·熊彼特曾在《经济发展理论》中提出过一个观点:每一次大规模的创新,都将淘汰旧的技术和生产体系,并建立起新的生产体系,坦言“经济周期是在长波创新下运作的”。当新一轮技术革命叠加新的经济周期,意味着以创新为驱动、以前沿科技为羽翼的“新质生产力”将是开辟新......
  • 【最新华为OD机试E卷-支持在线评测】通过软盘拷贝文件(200分)多语言题解-(Python/C/Ja
    ......
  • 华为OD机试真题-字符串化繁为简-2024年OD统一考试(E卷)
    题目描述给定一个输入字符串Q,字符串只可能由英文字母('a'~''、'^'~'')和左右小括号('、”')组成。当字符里存在小括号时,小括号是成对的,可以有一个或多个小括号对,小括号对不会嵌套,小括号对内可以包含1个或多个英文字母9,也可以不包含英文字母。当小括号对内包含多个英文字......
  • 华为笔试0828 元素消除
     第二题题目:元素消除给定一个整数数组nums,同时给定一个整数interval。指定数组nums中的某个元素作为起点,然后以interval为间隔递增,如果递增的数(包含起点)等于nums中的元素,则将数组nums中对应的元素消除,返回消除元素最多的起点元素。如果消除的元素同样多,则返回最小的起点元素。......
  • 华为笔试——输出单向链表中倒数第k个节点
    描述输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。链表结点定义如下:struct ListNode{    int m_nKey;    ListNode* m_pNext;};正常返回倒数第k个结点指针,异常返回空指针.要求:(1)正序构建链表;(2)构建后要忘记链表长度......
  • 【2024华为杯E题】中国研究室数学建模竞赛E题思路+代码+论文
    订阅本专栏,认真钻研,保省级及以上奖项!若无获奖,本博主免费提供任意两份本博客初级版专栏代码!......
  • 【2024华为杯B题】中国研究室数学建模竞赛B题思路+代码+论文
    订阅本专栏,认真钻研,保省级及以上奖项!若无获奖,本博主免费提供任意两份本博客初级版专栏代码!......
  • 华为智慧农业解决方案
    物联网有望成为促进农业提产、实现供需平衡的关键使能技术。智慧农业采用了基于物联网的先进技术和解决方案,通过实时收集并分析现场数据及部署指挥机制的方式,达到提升运营效率、扩大收益、降低损耗的目的。可变速率、精准农业、智能灌溉、智能温室等多种基于物联网的应用将推动农......
  • 华为地图--
    华为地图前言一、MapKit(地图服务)二、具体实现1.创建地图1.1导入MapKit相关模块1.2新建地图初始化参数mapOptions,设置地图中心点坐标及层级1.3调用MapComponent组件,传入mapOptions和callback参数,初始化地图2.设置地图属性3.绘制[折线](https://developer.huawei.......
  • 6、【实战中提升自己】华为 华三中小型企业网络架构搭建 【无线架构之无线业务部署(无
     1 拓扑与说明         某公司的网络架构,这样的架构在目前的网络中是在常见的,假设您接收一个这样的网络,应该如何部署,该实战系列,就是一步一步讲解,如何规划、设计、部署这样一个环境,这里会针对不同的情况给出不同的讲解,比如拓扑中有2个ISP,假设客户需求是,想实现主备的......