当前位置: 首页 > news >正文

B22-9-5

 假定有7个航班,

 现在需要在某某到某某航班上增添座位,问怎样才是较优解。

题目:[2,5,3],意思是在2-5的航班上,之间的每个航班增加三张票。

首先的步骤:写出1-7航班,并且在前后都多补充一个数,也就是0和8.在这一串的上方,写一个数组,去对应每一个数。

:只需要在上面的数组中2的位置+3,如图所示,5的下一个位置(也就是6)-3,就可以了。 

最终计算方式:利用上面数组。自生航班的数组加上前一个航班的数组求和就是答案。

如:从1开始,1的上标和0的上标相加,结果为0作为1的上标。

再如3,3的数组0,加上前一个数也就是2的数组3,最终3的数组变为3。

以此类推直到6的时候,6的数组和5的数组一加,6的数组变为0。

也就完成了在2-5的航班上,之间的每个航班增加三张票的任务。

上面的数组叫差分数组。流程为差分数组依次加工前缀和。

再有更多的航班就在差分数组上增加对应的数就可以了。

相关文章:

  • 双非本计算机从零开始三年努力能做到什么程度【学习路线回顾总结问答】
  • 消息队列事务消息
  • 4.2 Hive SQL
  • C++ 【多态】
  • 一台服务器最大能支持多少条TCP连接
  • Linux中目录的概述以及 查看 切换 创建和删除目录
  • 剑指 Offer 03. 数组中重复的数字
  • 5_会话管理实现登录功能
  • 【STL】STL入门(9)
  • 超市积分管理系统(Java+Web+MySQL)
  • 超级简单的机器学习入门
  • 基于SSM跨境电商网站的设计与实现/海外购物平台的设计
  • Flutter——常用布局
  • RBF神经网络python实践学习(BP算法)
  • _Linux 动态库
  • spring5(一):概述
  • C++基础知识梳理<2>(引用、内联函数、auto关键字) [入门级】
  • Halcon图像分割总结
  • 学习笔记-WinRM
  • Java内存模型与volatile