暴力美学,还是精妙构造?

· · 学习·文化课

一道平平无奇的题在面前,但是无聊使我做了整个晚自习。

所谓可可爱爱,没有脑袋。

求证:x>0f(x)=(\frac1x+\frac12)\ln(x+1)>1

首先确认很简单的一点,\lim_{x\to0}f(x)=1,不妨扩一下定义域,令 f(0)=1

哎实际上 x<0f(x)>1 也成立,但是这是后话了。于是假设 x 始终满足 x>0,且 ' 是对 x 求导。

那么有 f'(x)=\frac{x-\ln(x+1)}{x^2}-\frac1{2(x+1)}

考虑泰勒展开:\ln(x+1)<x-\frac{x^2}2+\frac{x^3}3

考虑取 x=e-1 处切线:\ln(x+1)\le\frac{x+1}e

考虑设 g(C,x)=-\frac12\ln(x+1)+Cg'(C,x)=-\frac1{2(x+1)}<f'(x),则显然 f(x+\Delta x)>g((\frac1x+1)\ln(x+1),x+\Delta x),其中 \Delta x>0

准备工作完毕。

x\le\frac12,将泰勒展开带入 f'(x),可知 f'(x)>x(\frac1{2(x+1)}-\frac13)\ge0。于是 f(x)>f(0)=1

x\ge\frac2{e-2},将 x=e-1 处切线带入 f'(x),可知 f'(x)\ge\frac{e-1}{ex}-\frac1{2(x+1)}-\frac1{ex^2}>\frac1{ex}(\frac{e-2}2-\frac1x)\ge0。于是 f(x)>f(\frac2{e-2})>1

现在无非是要解决中间这段 (\frac12,\frac2{e-2})

不要带脑子,宁可带计算器!

由刚才 f(x+\Delta x)>g((\frac1x+1)\ln(x+1),x+\Delta x) 的结论,又因 g'(x)<0 所以 g(x) 单调递减,尽量往大了取 x+\Delta x 使函数值恰好为 1 便是。

于是有若 x\in(a,e^{2((\frac1a+1)\ln(a+1)-1)}-1)f(x)>1

注意到取 a 分别为 \frac12,\frac7{13},\frac47,\frac58,\frac{11}{16},\frac{13}{17},\frac67,\frac{46}{47},\frac{25}{22},\frac{31}{23},\frac{23}{14},\frac{25}{12} 时可以覆盖住 (\frac12,\frac2{e-2}),证毕。

然而尚有一个问题:区间实在是太多了。这也没办法,已经是区间最少的方案了。

能不能优化一下呢?如果想要少写几个字的话。

考虑强行搜索出分母之和最小的解:

double g(double x){return exp(2*((1/x+1)*log(x+1)-1))-1;}
m=114514,ans[100001][2];
void dfs(n,w,x,s,a,b,c,d)double w,x;
{
    if(n==0)
    {
        if(s<m)
        {
            m=s;
            for(int i=11;i;i--)
                printf("%d/%d ",ans[i][0],ans[i][1]);
            puts("");
        }
        return;
    }
    if(s+b+d>=m)
        return;
    if(x>1.*(a+c)/(b+d))
    {
        if(1.*(a+c)/(b+d)>w)
        {
            double y=1.*(a+c)/(b+d);
            for(int i=0;i<n;i++)
                y=g(y);
            if(y>2/(exp(1)-2))
                ans[n][0]=a+c,ans[n][1]=b+d,dfs(n-1,1.*(a+c)/(b+d),g(1.*(a+c)/(b+d)),s+b+d,0,1,1,0);
        }
        dfs(n,w,x,s,a+c,b+d,c,d);
    }
    else
        dfs(n,w,x,s,a,b,a+c,b+d);
    return;
}
main(){dfs(11,.5,g(.5),0,0,1,1,0);}

运行后可知可以取 a 分别为 \frac12,\frac7{13},\frac7{12},\frac7{11},\frac7{10},\frac79,\frac78,1,\frac{15}{13},\frac{15}{11},\frac53,\frac{19}9 即可使分母之和最小。不过话说回来这组解答还是分母最大值最小的,也是分母和分子之和最大值最小的。

其他条件可自行修改代码。