肌肉搬运公司有一批重型雕塑,想要根据重量从西到东按升序排列。但是,不需要精确排序,只要每个雕塑都靠近它应该在的位置即可。如果每个雕塑要么位于根据其重量应占的位置,要么最多偏离该位置k个位置,则认为排序是“k-away”(k位偏差)。
例如,考虑下图
重量为9吨的雕塑在第9个位置,重量为7吨的雕塑在第8个位置,因此仅偏离其应在位置一个位置。如果雕塑被完美排序,则每个其他雕塑都至少偏离其应在位置两个位置。为了纠正这一点,肌肉搬运公司交换雕塑。例如,假设肌肉搬运公司可以将位置1的雕塑与位置4的雕塑交换,表示为交换 (1,4)。然后,肌肉搬运公司可以将位置2的雕塑与位置6的雕塑交换(即 (2,6))。
这得到
最后,(3,5) 和 (5,7) 的交换得到一个1位偏差的设计
关于支持科学新闻业
如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻业 订阅。通过购买订阅,您正在帮助确保关于塑造我们当今世界的发现和想法的具有影响力的故事的未来。
在这个例子中,肌肉搬运公司占了便宜,因为有两个雕塑一开始就位于或足够接近其正确的位置。
1. 这是一个稍微难一点的
您能帮助肌肉搬运公司进行这种重新排列吗?有一种方法可以使用仅五次交换来实现1位偏差的设计。但是可能存在更好的方法。请尝试一下。
2. 这是另一个初始配置
3 5 6 7 8 1 9 2 4
这需要多少次移动才能实现1位偏差的设计?(提示:我认为这个更难。)
3. 肌肉搬运公司想知道九个雕塑从西到东实现升序1位偏差排序可能需要的最大交换次数。您能否找到9个不同数字的排列,使得实现1位偏差排序所需的交换次数最大化?(提示:请注意,我们正在询问一个“最大最小”问题:哪种初始配置需要最大数量的交换,假设您可以为该配置找到最佳(最小)策略?)
4. 显然,如果您有n个数字并且允许 (n-1) 位偏差的排序,则不需要交换。您能否找到每个n的d位偏差的最坏情况,并说明需要多少次交换?(提示:结果令人惊讶且非常漂亮。)
5. 对于n个元素,有多少个一位偏差的配置?(提示:请参阅上一个提示。)