King's Salary


Table of Contents

题目

在锆石尼亚小王国,国王和其他65位公民每人最初的工资都是1 zircon。国王没有投票权,但他有权提出工资分配方案(即重新分配工资)。每个人的工资必须是整数,且总和为66。

每个方案都要投票表决,若“赞成票”多于“反对票”则通过。每个人的投票行为如下:如果工资增加则投“赞成”,减少则投“反对”,工资不变则弃权。

国王既自私又聪明。他最多能让自己的工资变成多少?他至少需要多少轮公投?

分析

(一)关键观察

  1. 国王必须在第一轮主动放弃自己的工资,才能让局面启动。
  2. 每轮的本质是“减少有工资的公民人数”,每次都要让有工资的人数降到略多于一半。

(二)最优策略与轮次 第一轮,国王提议让33位公民的工资翻倍(2 zircon),其余32人(工资为0),国王自己也为0。这样33票赞成,32票反对,方案通过(国王不能投票)。

第二轮,国王让其中17人加薪(到3或4 zircon),其余16人降为0。如此17票赞成,16票反对。

后续每轮,国王都让“有工资的人”人数减半(向上取整),并让剩下的人降为0。 人数依次为:33→17→9→5→3→2。

最后一轮,国王收买3个“穷人”各给1 zircon,换来2个大额工资转到自己手上,最终国王工资为63 zircon。

(三)最优性说明 每轮人数不能降到1,因为那样国王无法通过方案。每轮都只能让“有工资人数”降到略多于一半。 所以,国王最多只能拿到 \(n-3\) zircon(本题 \(n=66\),即63 zircon),且需要7轮。

(四)一般化结论 若总人数为 \(n\),国王最多可得 \(n-3\) zircon,所需轮数 \(k=\lceil \log_2(2n-4) \rceil\)

Previous Next