一脸懵逼,随手又画了个k=63的图发现比值下降了,虽然不知道极限存不存在,但这说明在63进制下n / log n 可能不再是上界了,这个问题提的好啊...
============================
不严谨的回答一下,令func(n, k)代表n这个数字在k进制下减到0需要的次数,讨论关于n的增长率的时候k为常数。
因为一共只有log(n,k)位,而每一位最大的值为k,所以每一次减去的数不超过log(n,k)*k,所以我们有了这个函数增长率的下界:func(n,k) = Ω(n / log n)
关于上界的话,暂时没想到好的证明方法,但是我把n/log2 n与func(n,2)的比值画出来了,可以看出来比值是越来越大的,说明n / log n应该也是这个函数增长率的上界,我猜这个结论在其它进制下也是成立的。
补个n / log3 n 与 func(n, 3)之比的图,看起来结论在三进制下依然成立:
估算一个上界。思路是每一轮都寻求一条最短线段,将当前包含天使的多边形,按面积等分成两个新的子多边形。再假设天使的运气足够好,每次都瞬移到等分效率较低的子多边形。
直观看出,取平行于正三角形一条边的线段来等分其面积,等分效率最高。令此线段长度 ,三角形边长 ,则:
这样,初始正三角形被分成一个新的小正三角形和一个等腰梯形,易见等腰梯形的等分效率远高于新的小正三角形,于是根据假设,天使将瞬移到新的小正三角形当中。如此循环,至于无穷,天使将被锁定在初始正三角形的一个顶点。计算魔鬼走过的耗时路程:
记魔鬼速度 ,则捉住天使的时间:
这个题目如此离散,不借助于数值离散优化不易得到全局最优解,建议大家来改进这个上界吧。
按照 @yyx 说的圆弧线等分正三角形以及后续的扇形,上界可以改进为: