抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

一个非常有趣的结论:

RaneyRaney引理:

给你一个数列ai(1in)\\{a_i\\} (1 \le i \le n),而且定义Si=i=1naiS_i=\sum _{i=1}^n a_i,并且Sn=1S_n=1,求证ai\\{a_i\\}的循环排列里面有且仅有一个序列,满足i[1,n],Si>0\forall i \in [1,n],S_i > 0

循环排列的意思也非常好理解。

举一个例子:a=1,4,5,3,2,0a=\\{1,4,-5,3,-2,0\\}

循环排列为:

  1. <1,4,5,3,2,0><1, 4, -5, 3, -2, 0>
  2. <4,5,3,2,0,1><4, -5, 3, -2, 0, 1>
  3. <5,3,2,0,1,4><-5, 3, -2, 0, 1, 4>
  4. <3,2,0,1,4,5><3, -2, 0, 1, 4, -5>
  5. <2,0,1,4,5,3><-2, 0, 1, 4, -5, 3>
  6. <0,1,4,5,3,2><0, 1, 4, -5, 3, -2>

显然对于这组数据来说,44是满足条件的。

如何证明?

看到这类环上的问题,首先考虑拆环成链。

考虑一个无限的数列b=a1,a2,a3,...an,a1,a2,a3,...an,a1,a2...b=\\{a_1,a_2,a_3,...a_n,a_1,a_2,a_3,...a_n,a_1,a_2...\\}

对于这个数列,再做一次前缀和,设fx=i=1xa[i]f_x=\sum _{i=1}^x a[i]

注意到fx+nfx=fn=1f_{x+n}-f_x=f_n=1,所以这个函数每过nn格就会整体向上平移一格:

资料来源:浅谈数形结合思想在信息学竞赛中的应用

可以看图理解。

于是我们可以构造斜率为\frac{\dfrac的两条直线"夹住"原函数。

可以发现每过nn个点,下面那条直线就会和函数相切一次。

从那个切点(图中为(3,0)(3,0))向上走,发现所有的SiS_i>0>0,因为函数不可能和下面的直线相交。

同时在每nn个点中,有且仅有一个点和直线相切(因为每过nn个点函数才会经过一次整点),这就证明了唯一性。

思考,Sn!=1S_n!=1时,为什么不能说明唯一性?

因为Sn!=1S_n!=1时,斜率为\fra\dfrac}{n},不能保证一定只经过一个整点。

比如Sn=2,n=6S_n=2,n=6时,就会发现会有矛盾。

评论