本文共 440 字,大约阅读时间需要 1 分钟。
给定一个初始序列,每次操作只能拿序列的头元素和尾元素。现在作为第m个拿的,我可以控制k个人的选择。问题在于,在我控制了k个人的选择后,不论剩下的m-1-k个人如何选择,我最后选的数字都会大于一个数X,求X的最大值。
解决这个问题的思路如下:
枚举可能性:我需要枚举我控制的人在头部和尾部各自拿的数量。假设我控制的人在头部拿了i个,尾部拿了j个。剩下的k-i个人在尾部拿了k-i个,剩下的m-1-k个人在头部拿了剩下的位置。
计算剩余位置:剩下的头部位置数为n - (m - 1 - k) - (k - i)。剩下的尾部位置数为j。
确定最后位置:最后一次操作时,头部的位置是a[i + j],尾部的位置是a[n - 1 - (剩下的尾部位置数)]。
取最大值:对于每一种i和j的情况,取头部和尾部的最大值,这个值就是我能保证的最小值X。
遍历所有情况:通过遍历所有可能的i和j,找到最大的X。
通过上述步骤,可以确定X的最大值,确保无论其他人如何选择,最后一次操作的数字都大于X。
转载地址:http://raewz.baihongyu.com/