如果说f(n,m)是删除n个连续数字中第m个数字所剩余的数字序列,而f’(n-1,m)是删除n-1个连续数字中第m个数字剩下的数字序列的话。那怎么可能存在f(n,m)=
f’(n-1,m)的关系呢?!它俩的关系很显然不相等啊。这书是不是印错了?
一般的这种情况多半是由于我理解不到位所致,但是他说的话确实好像错了。我想作者想表达的不应该是f’(n-1,m)是从n-1个数字中删除第m个数字的意思,而只是代表经过f(n,m)操作后剩下的数字序列的意思。因为原来的序列是从0开始的,而剩下的序列却不是,基于这点区别作者采用f’(n-1,m)加以表示。再总结一下就是f(n,m)是从原来从0开始的有序序列中删除第m个元素所剩下的序列,而f’(n-1,m)是把第m个元素后面的元素作为第一个元素来看待,但是它的序号是不变的只不过位置变成了第一个,这样就形成了另外一个序列,而不是说它再去删除它的第m个元素,它没有删除动作。但是这俩序列所包含的元素相同,因此有f(n,m)=
f’(n-1,m)。
这个映射p是指左边的元素按照公式(x-k-1)%n可以得到右边的元素,所谓你映射就是由右边的元素得到左边相对应的元素。
映射之后的序列又是从0开始的序列因此它满足f(n-1,m)关系。所以现在看来f’(n-1,m)代表左边那一列f(n,m)代表右边那一列,所以从f’(n-1,m)到f(n,m)就是映射p,那么从右边到左边就是逆映射p-1,满足p-1[]……
我突然发现这个理论推导的错误之处,可以确认的是作者的阐述是错误的!这道题的理论推导是错误的,我确定一定以及肯定。
正确的推导在这个URL里面人家讲得干脆利落
http://www.cnblogs.com/alex4814/archive/2011/09/11/2173739.html