专栏文章
题解:P14293 [JOI2024 预选赛 R2] 购物 2 / Shopping 2
P14293题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minj4fl2
- 此快照首次捕获于
- 2025/12/02 03:15 3 个月前
- 此快照最后确认于
- 2025/12/02 03:15 3 个月前
题目大意:
JOI 商店有 件商品,每件商品有价格和种类。促销活动持续 天,第 天所有种类为j的商品打 折。有 位顾客,每位顾客在第 天购买编号在 范围内的所有商品。需要计算每位顾客的总花费。
题目思路:
显然要用前缀和,不会戳这里,应该都会。
很显然,答案就是:
- 区间内所有商品原价总和 第 天区间内种类为 的商品的原价一半。
前半部分就可以用前缀和 在 快速求出,那就会有人问了,后面呢怎么算呢?
其实也是前缀和思想,我们定义:
- 为所有种类为 的商品编号,按升序排序。
- 表示种类 的前 个商品的半价总和。
利用前缀和思想,可以预处理出第 类商品在任意子区间的半价总和,显然公式为:
注: 为商品 的定价。
后面统计时候,使用二分找到找到第一个可以享受折扣的商品 和找到最后一个可以享受折扣的商品 ,右半部分答案就为 ,整题答案就是 ,这题就写完了。
注: 为商品 的定价 的前缀和。
思路讲得很清楚,代码就不放了。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...