CSP-202203-2-出行计划

2024-02-12 07:28
文章标签 csp 计划 出行 202203

本文主要是介绍CSP-202203-2-出行计划,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CSP-202203-2-出行计划

【70分思路】

  • 【暴力枚举】还是老样子,直接这样做会时间超限,就不仔细介绍了
#include <iostream>
using namespace std;
int main()
{int n, m, k;cin >> n >> m >> k; int* ti = new int[n];int* ci = new int[n]; for (int i = 0; i < n; i++){cin >> ti[i] >> ci[i];}// 处理查询for (int i = 0; i < m; i++){int t, possibleToPassNum = 0;cin >> t;for (int j = 0; j < n; j++){int earliestEntryTime = t + k, latestEntryTime = t + k + ci[j];if ((earliestEntryTime <= ti[j]) && (ti[j] < latestEntryTime)){possibleToPassNum++;}}cout << possibleToPassNum << endl;}return 0;
}

【100分思路-差分数组和前缀和】

  1. 输入处理:

    • t表示某人去某地的时间,c表示核酸检测有效期。

    • 通过 x = t + 1 - k - cy = t - k 计算符合条件的时间区间 [x, y]

      • q + k ≤ t < q + k + c q+k≤t<q+k+c q+ktq+k+c
      • q + k ≤ t ≤ q + k + c − 1 q + k ≤ t ≤ q + k + c − 1 q+ktq+k+c1
      • q q q 的范围是: t + 1 − k − c ≤ q ≤ t − k t + 1 − k − c ≤ q ≤ t − k t+1kcqtk
    • 如果 y < 1,说明这个时间区间没有意义,直接跳过,同时保证 1 ≤ x(规定从1开始)

  2. 差分数组的处理(重要):

    • x 处加1,表示这个时间点有一个符合条件的出行计划。
    • y + 1 处减1,表示这个时间点之后的时间没有符合条件的出行计划。
    • 这样通过差分数组,我们记录了每个时间点上的变化。
  3. 前缀和计算(重要):

    • 通过遍历整个时间范围,累加差分数组的值,得到每个时间点符合通行条件的计划总数。
    • 这一步的目的是恢复出原数组的值,即每个时间点上有多少个符合条件的出行计划。
  4. 查询处理:

    • 对于每次查询,直接输出对应天数 q 处的计数值,即在查询的天 q 有多少个符合条件的出行计划。

通过这种方式,代码实现了高效处理大规模数据的需求,通过差分数组和前缀和的技巧,避免了对每个查询进行重复的线性遍历,提高了算法的效率。

#include<iostream>
#include<algorithm>
using namespace std;const int N = 2e5 + 10; 
int n, m, k, t, c, q; 
int cnt[N];  // 默认初始化int main() {cin >> n >> m >> k;// 输入每天的核酸检测和有效期,并处理差分数组for (int i = 1; i <= n; i++) {cin >> t >> c;int x = t + 1 - k - c, y = t - k; // 符合条件的时间区间 [x, y]if (y < 1) continue; // y < 1直接跳过(肯定没有任何一个出行符合条件)x = max(1, x);  // x至少为1(规定从1开始)// 在x处加1,y+1处减1,用差分数组记录每个时间点的变化cnt[x]++;cnt[y + 1]--;}// 通过差分数组计算前缀和,即整个时段符合通行条件的数量for (int i = 1; i <= N - 1; i++) {cnt[i] += cnt[i - 1];}// 查询处理while (m--) {cin >> q;// cnt[q]即为满足条件的出行计划总数cout << cnt[q] << endl;}return 0;
}

请添加图片描述

参考:csp202203-2【出行计划】题解 差分+前缀和 30行代码解决

这篇关于CSP-202203-2-出行计划的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/702001

相关文章

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

CSP-J基础之数学基础 初等数论 一篇搞懂(一)

文章目录 前言声明初等数论是什么初等数论历史1. **古代时期**2. **中世纪时期**3. **文艺复兴与近代**4. **现代时期** 整数的整除性约数什么样的整数除什么样的整数才能得到整数?条件:举例说明:一般化: 判断两个数能否被整除 因数与倍数质数与复合数使用开根号法判定质数哥德巴赫猜想最大公因数与辗转相除法计算最大公因数的常用方法:举几个例子:例子 1: 计算 12 和 18

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

CSP-J基础之数学基础 初等数论 一篇搞懂(二)

文章目录 前言算术基本定理简介什么是质数?举个简单例子:重要的结论:算术基本定理公式解释:举例: 算术基本定理的求法如何找出质因数:举个简单的例子: 重要的步骤:C++实现 同余举个例子:同余的性质简介1. 同余的自反性2. 同余的对称性3. 同余的传递性4. 同余的加法性质5. 同余的乘法性质 推论 总结 前言 在计算机科学和数学中,初等数论是一个重要的基础领域,涉及到整数

Claude Enterprise推出计划

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/ 今天推出的Claude Enterprise计划,专为企业打造安全的

为备份驱动器制定备份计划:维护数据的3大方法

时间:2014-02-26 14:49 来源:网管之家 字体:[大 中 小]   您可能已经对您的电脑进行了备份,但其实这样还是远远不够的,其并非如您所认为的那样安全。您企业备份驱动器上的文件可能与您的主系统上的文件一样,容易受到灾难的影响。根据最近流行的恶意软件CryptoLocker的感染途径显示,连接到PC的外置驱动器——辅助硬盘驱动器,例如,用于备份的外部USB硬盘驱动器,可以像

CSP-J基础之cmath常见函数

文章目录 前言1. **`sin` 函数**2. **`cos` 函数**3. **`exp` 函数**4. **`log` 函数**5. **`fabs` 函数**6. **`pow` 函数**7. **`sqrt` 函数**8. **`ceil` 函数**9. **`floor` 函数** 总结 前言 在计算机科学与编程中,数学函数是解决各种计算问题的基础工具。C++标准

CSP-J选择题 - 排列组合

排列问题:有5名学生参加比赛,要求排成一排拍照,有多少种不同的排列方式?组合问题:从10本书中选出3本书送给朋友,有多少种不同的选择方式?排列问题:一个教室有7个座位,5个学生需要坐下,有多少种不同的排列方式?组合问题:从12个人中选出4个人组成一个团队,有多少种不同的方式?排列问题:一个密码由4个字母组成,字母可以重复使用,有多少种不同的排列组合?组合问题:从8个不同颜色的球中选出3个,不考虑顺

基于开源链动 2 + 1 模式、AI 智能名片与 S2B2C 商城小程序的用户忠诚度计划

摘要:本文深入探讨了在商业环境中执行用户忠诚度计划的创新途径。通过整合开源链动 2 + 1 模式、AI 智能名片以及 S2B2C 商城小程序等先进元素,从提供福利、解决问题和创造赚钱机会三个核心方面展开详细阐述。研究表明,这些新技术和新模式的有机结合,能够为企业打造更具吸引力和影响力的用户忠诚度计划,从而实现商业效益的最大化与可持续发展。 一、引言 在当今竞争激烈且市场环境快速变化的时代,

[置顶] 2014训练计划进阶版

动态规划: 区间dp,树状dp,数位dphdu3555, sgu258, sgu390  队列优化: zoj3399 最小表示法的状态压缩DP: spoj2159  专题链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=38881#overview 专题链接: http://acm.hust.edu.cn/vjudg