美文网首页
【洛谷】P1936

【洛谷】P1936

作者: Claire_cc | 来源:发表于2018-11-17 17:52 被阅读0次

    https://www.luogu.org/problemnew/show/P1936
    这道题自己没有想出好的解决方法,一直对着公式死推,最后只推出来n-2m<0这一个约束条件抱着侥幸的心态提交了一下TLE。看了排名前几的解题报告,觉得自己要培养
    模拟+找规律的思维
    思路分析:先暴力计算出K=1~15的结果
    1 m=1 n=1
    2 m=1 n=1
    3 m=2 n=3
    4 m=2 n=3
    5 m=3 n=5
    6 m=3 n=5
    7 m=3 n=5
    8 m=5 n=8
    9 m=5 n=8
    10 m=5 n=8
    11 m=5 n=8
    12 m=5 n=8
    13 m=8 n=13
    14 m=8 n=13
    15 m=8 n=13
    可以发现n,m都在斐波那契数列中,n是m的后一个数,而且继续算下去会发现m即该组答案出现的次数。
    ps:有dalao根据式子推出了规律,做个搬运工
    记f(n,m)=(n^2- mn - m^2) ^2
    则有f(m+n,m)=[(m+n)^2- n(m+n)- n^2] ^2=(m ^2 +mn-n^2) ^2=(n ^2-mn- m^2) ^2 =f(n,m)
    代码:

    #include<cstdio>
    #include<iostream>
    using namespace std;
    int main()
    {
        int k;
        cin>>k;
        int a=1,b=1,c;
        int cnt=1;
        while(1)
        {
            cnt+=b;
            if(cnt>=k)
            {
                cout<<"m="<<b<<endl;
                cout<<"n="<<c<<endl;
                break;
            }
            else
            {
                c=a+b;
                a=b;
                b=c;
                c=a+b;
            }
        }
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:【洛谷】P1936

          本文链接:https://www.haomeiwen.com/subject/fwzbfqtx.html