翻译

m>n>1 为正整数. 一个集合含有 m 个给定的实数. 我们从中选取任意 n 个数, 记作 a1, a2, , an, 并提问: 是否 a1<a2<<an 正确? 证明: 我们可以最多问 n!n2+2n2+m(n1)(1+lognm)m 个问题,将所有的 m 个数排序.

We can find the order of the first n numbers n!1 questions,
looking at all possible orderings but one.

我们可通过查看除1以外的所有可能的顺序,找出前n个数n!1个问题的顺序.

Suppose we have found the relative order of the first k numbers
and let us find the relative order of first k+1 numbers.

假设我们已找到前k个数的相对顺序,让我们来找出前k+1个数的相对顺序.

Suppose we have a1<a2<<ak
and let us find where ak+1 fits.

假设有a1<a2<<ak,让我们找出ak+1应该放在哪里.

We use the following {\it binary search}:
pick n1 numbers among 1,2,,k that divide the interval [1,k]
most equally.

利用下面的\textbf{二分法搜索(binary search)}:在1,2,,k之间选取n1个数等分区间[1,k].

(This is achieved by taking the numbers
akn,a2kn,,a(n1)kn).

(这可通过取数字
akn,a2kn,,a(n1)kn来实现).

We can find the relative order of ak+1 and these numbers by at most n1 questions.

我们最多可通过n1次提问找出ak+1和这些数的相对顺序.


Indeed, for 1jn1, let qi be ``Is it true that
akn<<aaikn<ak+1<a(i+1)kn<<a(n1)kn?''

实际上, 对于1jn1, 令qi为``
akn<<aaikn<ak+1<a(i+1)kn<<a(n1)kn成立么?''

Then we find an i such that
aikn<ak+1<a(i+1)kn.

那么我们找到 i使得
aikn<ak+1<a(i+1)kn.


Therefore, by at most n1 questions we reduce the length of the interval of searching
from k to at most kn, where x
is the least integer number not less than x.

因此,我们最多可通过n1个问题,使搜索的区间长度从k减小到最多是kn,其中x为不小于x的最小整数.

We repeat this binary search until we find exactly the position of ak+1
(that is, the interval of searching is 1 or 0).

我们重复这个二分法搜索,直到找出ak+1的确切位置.
(即搜索间隔为10).

Now if knj, then after i steps the interval will be at most nji,
so we need at most j=lognk steps to insert ak+1 into the sequence.

现在,如果knj,那么在i步之后,间隔最多为nji,因此我们最多需要j=lognk步来将ak+1插入数列中.


Therefore, the number of questions needed is at most
n!1+(n1)(logn(n+1)++logn(m1)).

因此,所需的提问次数最多为
n!1+(n1)(logn(n+1)++logn(m1)).


All we need to do is to evaluate this number:
suppose that
nkm<nk+1.
Then there are n2n numbers r for which
lognr=2, n3n2 numbers for which
lognr=3, and so on until we have m1nk numbers r for which
lognr=k+1.

我们需要做的就是计算这个数字:设
nkm<nk+1.
那么有n2n个数r满足lognr=2, 有n3n2个数满足lognr=3等等,直到我们有m1nk个数r满足
lognr=k+1.


Therefore the sum is
n!1+(n1)(2(n2n)+3(n3n2)++k(nknk1)+(k+1)(m1nk))=n!1+(n1)((k+1)(m1)nknk1n22n).
Because nk+1>m,
nk+nk1++n2+2n=nk+11n1+n1mn1+n1.
Hence our sum is at most
n!1+(n1)((k+1)(m1)mn1n+1)=n!n2+2n2+(n1)(lognm+1)mm,
as desired.

因此和为
n!1+(n1)(2(n2n)+3(n3n2)++k(nknk1)+(k+1)(m1nk))=n!1+(n1)((k+1)(m1)nknk1n22n).
由于nk+1>m,
nk+nk1++n2+2n=nk+11n1+n1mn1+n1.
因此我们的和最多为
n!1+(n1)((k+1)(m1)mn1n+1)=n!n2+2n2+(n1)(lognm+1)mm,
得证.

posted on   Eufisky  阅读(367)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2014-07-25 LaTeX技巧012:LaTeX 插图加载宏包
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示