c = map(int,input().split())# 在【l, r】时间段内做核酸,则t时刻可进入l = max(t-k-c+1,0)r = max(t-k,0)# 在【l, r】时间段内能出行的计划个数加一diff[l] += 1diff[r+1] -= 1# 利用差分计算每个时间的能出行个数for i in range(1,N):diff[i] += diff[i...
CSP202203-2 出行计划作者: lcl , 2022-05-31 20:15:34 , 所有人可见 , 阅读 305 0 区间修改,单点查询 a[i]表示点i被包含在a[i]个区间里 注意检查区间左端是否小于0,防止数组越界 #include<bits/stdc++.h> using namespace std; const int N=3e5+10; int n,m,k; int a[N]; int main...
本题链接:CSP 202203-2 出行计划 本博客给出本题截图: 题解 比如上图中,q 就落在了三个区间中,故输出 3 ,为此考虑到【前缀和、差分】,关于这两个算法的思想和解释见博客:前缀和、差分 再次强调,这两个算法可以说是第二题的必考算法,读者请务必掌握 C++ #include <iostream>#include <cstring>#include <...
本题链接:CSP 202203-2 出行计划 本博客给出本题截图: 题解 典型一道 前缀和 + 差分,核算证明的有效时间为: [ q + k , q + k + c − 1 ] [q+k,q+k+c-1] [q+k,q+k+c−1],对于每一个 t t t,我们都需要去查看它是否落在了 [ q + k , q + k + c − 1 ] [q+k,q+...