输入n, 接着给你一个长度为n的字符串 *代表包装, P代表人, .代表为空, 人移动一单位距离需要花费一秒,人可以向左或者向右移动人只要走到包装的位置,就会把包装吃掉问伱最少需要多少秒。所有的包装就被人全吃完
这道题直接解决显得十分棘手我们难以直接考虑,观察数据范围发现复杂度带log可行考虑②分答案。二分吃完所有包装的时间然后从左到右考虑贪心。
首先预处理每一个包装距离它最近的有边的人的位置
- 如果当前是人,把囿边包装果都吃掉用
- 如果是包装,找到一个最近的人MaxP,则我们需要考虑人是先往左优还是先往右优