• 欢迎光临~

【放假回家】题解

开发技术 开发技术 2022-07-16 次浏览

Link

题目

作为班长的小 Z 预先统计了一下,班里每位同学预计能在哪个时间点之前收拾好行李并把行李放到宿舍楼下。小 Z 按时间点从早到晚对 位同学排序并依次编号为 。但小 Z 并不知道运送行李的货车会在什么时候到来,为了避免同学们在宿舍楼下等待太长时间,小 Z 规定,只留最后一位准备好行李的同学在宿舍楼下看守着行李,若第 位同学收拾好行李后,货车恰好到来,则由这位同学和小 Z 一起把前 位同学的行李搬上货车。

但由于货车有载重量 的限制,小 Z 计划,当货车来临时,会在已经收拾好行李的前 位同学中,在必定选取第 位同学的行李的前提下,选取尽可能多的同学的行李,优先把他们的行李搬回家。

已知货车载重量为 ,第 位同学的行李重量为 ,你能计算出在任何一种情况下,当货车运走第一批行李后,会剩下多少位已经收拾好行李的同学,享受不到优先运送行李的服务吗?

题目大意

我们可以将一组数据拆分为 (n) 个子问题,代表一定选取第 (i) 个同学的行李,

思路

我们可以选择建立两个树状数组 (c_1)(c_2) 分别维护人数的前缀和和行李重量的前缀和,

代码

程序员灯塔
转载请注明原文链接:【放假回家】题解
喜欢 (0)