当前位置:首页 > 题解目录 > 正文内容

植树节

亿万年的星光1年前 (2024-10-05)题解目录1341

【题目描述】

植树节快要到了,学校要组织志愿者去给树苗浇水。有一排树苗,编号依次是 0,1,2, . . . 。现有 n个志愿者去给树苗浇水,第 i 个志愿者选定了一个区间[ai, bi],表示第 i个志愿者将 [ai,bi] 这一区间内的每一棵树都浇一次水。如某个志愿者选择的浇水区间为 [4,9] ,表示他将给编号为 4,5,6,7,8,9 的树各浇水一次。当所有的志愿者完成各自所选区间的浇水后,可能有些树苗被不同的志愿者浇水多次,也可能有的树苗一次也没被浇过水。请你求出浇水最多的树苗被浇了多少次

【输入描述】

第 1 行,一个整数 n,表示志愿者的人数。
第 2 行到第 n + 1 行,每行两个整数 ai, bi( i= 0,1,2, . . . n− 1) ,表示志愿者 i 选择的浇水区间

【输出描述】

输出 1 行, 1 个整数,表示浇水最多的树苗被浇水的次数。

【样例输入1】

4
0 2
2 4
1 4
6 7

【样例输出1】

3

【样例输入2】

4
1000000 1000000
1000000 1000000
0 1000000
1 1000000

【样例输出2】

4

对于所有的数据:n≤ 105;0 ≤ ai≤ bi ≤ 106 。

测试点编号ai<=bi<=n<=特殊性质
1,2,3103103103
4,5,6,7106106105
8106106105ai=bi
9106106105ai=1,bi=103
10106106105

【参考答案】

#include <bits/stdc++.h>
using namespace std;
int diff[1000002],waterCount[1000001]; //差分数组与浇水数组 
int main() {
    int n;
    cin >> n;
    // 使用差分数组来记录区间加法操作
    for (int i = 0; i < n; ++i) {
        int ai, bi;
        cin >> ai >> bi;
        // 在差分数组中记录区间加法操作
        diff[ai]++;
        diff[bi + 1]--;
    }
    // 计算每棵树的实际浇水次数
    int currentWater = 0;
    int maxWaterCount=-1;
    for (int i = 0; i <= 1000000; ++i) {
        currentWater += diff[i];
        waterCount[i] = currentWater;
        maxWaterCount=max(maxWaterCount,waterCount[i]); // 找出浇水次数最多的树苗
    }
    cout << maxWaterCount <<endl;
    return 0;
}


    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    【题解】区间和

    1.区间和(sum.cpp)【描述】输入一个整数Q,进行Q次询问,每次给定两个整数l和r,每一次输出l~r中所有平方数的和 % 1000000007【输入】第一行是一个整数Q后面的Q行每行有...

    【题解】BFS—迷宫问题(1)

    【题解】BFS—迷宫问题(1)

    【题目描述】一个5*5的矩阵,矩阵内用0,1显示。其中,0是路,表示这个点可以走,1是墙表示这个点不可以走。问,从给定的矩阵中从左上角到右下角最少需要走多少步?注:题目保证有解(不存在左上角和右下角为...

    【算法】最少步数

    【算法】最少步数

    【题目描述】在各种棋中,棋子的走法总是一定的,如中国象棋中马走“日”。有一位小学生就想如果马能有两种走法将增加其趣味性,因此,他规定马既能按“日”走,也能如象一样走“田”字。他的同桌平时喜欢下围棋,知...

    【题解】排队买票

    【题目描述】有M个小孩到公园玩,门票是1元。其中N个小孩带的钱为1元,K个小孩带的钱为2元。售票员没有零钱,问这些小孩共有多少种排队方法,使得售票员总能找得开零钱。注意:两个拿一元零钱的小孩,他们的位...

    【题解】区间和

    【描述】输入一个整数Q,进行Q次询问,每次给定两个整数l和r,每一次输出l~r中所有平方数的和 % 1000000007【输入】第一行是一个整数Q后面的Q行每行有2个数字l和r【输出】Q行,...

    【题解】亲戚

    【题目描述】若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是...