题目大概意思:
开始有个数,每次可以加一或者减一,有分别的代价,然后在每一次加完或者减完以后有一个范围(第几次操作对应一个范围,也就是有n个范围),你必须得在范围内才行(左右区间) q次询问,问第i次操作前,这个数恰好是一个值的最小代价
n q范围都是5e4,多组数据,保证n q和均在2e5范围内
用朴素的dp试过了,T了(数据没那么弱),想问问有没有其他的做法
完整题目:
经过对于顾客们讨论的认真倾听和及时干预,终于有人进入了结账流程,他们拿着看上的衣服来到了收银台,但是看到他们洋洋得意的神情,你意识到有些不对劲。 他们开口了:“这件衣服价格还能再便宜点吗?” “我们这里是明码标价的,不讲价的,标签上就是价格。” “那我不要了,你要能便宜点我以后还能给你介绍点人来买,一点不能少的话那算了。”他们转身一边嚷嚷着,一边就要放下衣服走人。 你还没开张呢,他们就发动了砍价大招,你脑子一热招呼了一句“也可以谈谈……”, 眼前的这位客人转过身来,脸上是胸有成竹的表情,他做好了准备,"这件衣服我觉得吧,这个价差不多了。"他比划比划了手指,你意识到,价格攻防战拉开了序幕…… 顾客最开始给出的估价是s元,但是你肯定不会善罢甘休,你想通过n轮砍价拉高他的估价。 每一轮,顾客对于能够接受的价格都会有一个动态的调整,第i轮可以接受的价格为li元到ri元,如果顾客的估价超出了可以接受的范围,估价太低会怀疑质量不行,估价太高会觉得超过了消费能力,顾客都会转身就走。
你有两种策略,来影响顾客下一轮的估价: 使用“你今天不买之后再也没有机会了,今天开业我给你优惠”,给顾客一定的折扣力度,花费 ai的精力,使得顾客下一轮估价下降1元。 使用“真的不能再便宜了,这个质量真的很好的,我给你说说“,给顾客讲解衣服的优点,花费bi的精力,使得顾客下一轮估价上升1元。 注意,顾客会先看当前评估的价格是否在第i轮砍价可接受的价格内,才会和你继续第i轮砍价,你才能够采取策略影响顾客下一轮的估价,请明确砍价的顺序。
你固然希望能够卖出的价格越高越好,但是能够尽快达到一个预期的价格同样重要。相比于n轮砍价后,能够卖出最高的价格,你更想知道在第x轮攻防战时,能否使得顾客的估价恰好为y元,同时你也想花费最小的精力达到这个目的,毕竟你还得面对很多要来砍价的顾客。
你可以针对假设的q次询问计算出所需要的最小精力吗?还是说是不可能达到的?