CSP 202203-2 出行计划

简介: CSP 202203-2 出行计划

本题链接CSP 202203-2 出行计划

本博客给出本题截图68.png

题解

image.png

比如上图中,q  就落在了三个区间中,故输出 3 ,为此考虑到【前缀和、差分】,关于这两个算法的思想和解释见博客:前缀和、差分

再次强调,这两个算法可以说是第二题的必考算法,读者请务必掌握

C++

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 200010;
int s[N];
int main()
{
    int n, m, k;
    cin >> n >> m >> k;
    // 差分
    for (int i = 1; i <= n; i ++ )
    {
        int t, c;
        cin >> t >> c;
        // 差分和前缀和数组要从 1 开始,否则无意义
        s[max(1, t - k - c + 1)] ++, s[max(1, t - k + 1)] --;
    }
    // 注意这里在计算前缀和的时候,for 循环时循环到 N 而不是 n
    for (int i = 1; i <= N; i ++ ) s[i] += s[i - 1];
    for (int i = 1; i <= m; i ++ )
    {
        int q;
        cin >> q;
        cout << s[q] << endl;
    }
    return 0;
}



目录
相关文章
【Java每日一题,前缀和】csp202203-2 出行计划
【Java每日一题,前缀和】csp202203-2 出行计划
|
算法 Go Python
CSP 202203-2 出行计划 python 差分算法
CSP 202203-2 出行计划 python 差分算法
CSP 202203-2 出行计划 python 差分算法
第五十二章 开发自定义标签 - Using csr %CSP.AbstractAtom Write Methods
第五十二章 开发自定义标签 - Using csr %CSP.AbstractAtom Write Methods
71 0
|
JavaScript 编译器 Go
第五十一章 开发自定义标签 - 使用%CSP.Rule方法
第五十一章 开发自定义标签 - 使用%CSP.Rule方法
81 0
|
SQL JavaScript 前端开发
第三十六章 使用 CSP 进行基于标签的开发 - 使用尽可能少的#server和#call调用
第三十六章 使用 CSP 进行基于标签的开发 - 使用尽可能少的#server和#call调用
128 0
|
JavaScript 前端开发 Go
第三十四章 使用 CSP 进行基于标签的开发 - Hyperevent例子
第三十四章 使用 CSP 进行基于标签的开发 - Hyperevent例子
118 0
|
前端开发 JavaScript 编译器
第三十三章 使用 CSP 进行基于标签的开发 - 使用Hyperevents #server和#call调用服务器端方法
第三十三章 使用 CSP 进行基于标签的开发 - 使用Hyperevents #server和#call调用服务器端方法
111 0
|
前端开发 程序员 Go
第三十二章 使用 CSP 进行基于标签的开发 - 服务器端方法
第三十二章 使用 CSP 进行基于标签的开发 - 服务器端方法
118 0
|
JavaScript 前端开发 Go
第三十一章 使用 CSP 进行基于标签的开发 - 转义和引用HTTP输出
第三十一章 使用 CSP 进行基于标签的开发 - 转义和引用HTTP输出
95 0
|
SQL Go
第三十章 使用 CSP 进行基于标签的开发 - 控制流
第三十章 使用 CSP 进行基于标签的开发 - 控制流
85 0