NOI2018 前的联考第一场。
奥义商店
Description
乐滋滋经常参加各种拍卖会,前不久,他收到了来自滋滋国最大的商店——奥义商店的拍卖会邀请函。
为了让拍卖会看起来更加奥妙重重,奥义商店设置了一个极为复杂的拍卖规则:一共 个物品排成一排,第 个物品价格是 。对于一次拍卖,商店会指定 种颜色,并对每种颜色指定一个数目 满足 ,另外还会指定一个下标 和一个公差 。
买家需要给第 个物品染上一种颜色(在 种颜色中选择一种)。接着,把剩下的 个物品随机染成 种颜色之一,并保证这 个物品中第 种颜色的恰好有 个。
买家需要购买的物品按这样的方式计算:找到 所在的最长的以 为公差的等差数列 满足其中所有物品都与第 个物品同色。买家需要买下这个等差数列中的所有物品,显然花费就是 。
乐滋滋最近出现了点“经济危机”,希望你能帮他给第 个物品选择合适的颜色,以此来最小化他花费的期望,你只需要输出这个期望即可。
当然商品的价格是可能出现变动的,你需要维护这些变化。
Constraints
Solution
对于 的部分,当 时通过预处理好的表 查询结果,当 时直接暴力计算即可。
对于 的部分,贪心可得一定是选择 最小的颜色。在 的序列里,对于 的部分, 时同颜色概率为 , 时概率为 ,由此递推, 的部分同理。且由于 且 最小,所以当递推到后面的部分时,概率已经小到几乎可以忽略不计。为保证复杂度可以舍弃掉后面的部分,这里我选择了 。
详见代码。
Code
1 |
|
访问计划
Description
前不久,滋滋国来了一位白尛 FA 师,在滋滋国到处谈笑风生,滋滋国国王妹滋滋认为这个人姿势水平很高,便向他请教提高姿势水平的办法,白尛 FA 师说“滋滋国的哪一条路我没去过!”妹滋滋心想自己还没有好好考察过滋滋国的每一条道路呢,便计划进行一次访问来提高自己的姿势水平。
滋滋国有 个城市,编号从 到 ,其中 号城市是首都,这些城市被 条道路连成一棵树,每个道路都有一个通过的花费,这个花费是每次通过时都需要付出的。
现在妹滋滋想要从首都出发,沿着道路行走,经过每条道路至少一次,并最终返回首都,除了沿着道路行走之外,妹滋滋还可以花费 元乘坐跳蚤巴士从一个城市直接跳到任意一个城市,然而因为各种奥妙重重的原因,妹滋滋最多只能搭乘 次跳蚤巴士。
现在妹滋滋找到了你,希望你为他安排一个最优的访问路径使得总花费最少,你只需要输出最小总花费即可。
Constraints
$ 1 \leq N,K \leq 2000$
Solution
由题意易得,若不使用跳跃,则每条边需要经过两次。若使用跳跃从 跳跃到 ,则 到 路径上的边都可以少走一次。但由于每条边至少经过一次,所以问题可以转化为:求不超过 条边不相交的链的最大权值和。
令 表示点 的子树里,已使用了 条链, 在/不在链上的最小代价。分类讨论一下做树上背包即可。注意 只需枚举到子树大小,维持复杂度为 。
Code
1 |
|