zoukankan      html  css  js  c++  java
  • [cf 599D] Spongebob and Squares

    据题意:

      $K=sumlimits_{i=0}^{n-1}(n-i)*(m-i)$

      $K=n^2m-(n+m)sum{i}+sum{i^2}$

      展开化简

      $m=(6k-n+n^3)/(3n^2+3n)$

      枚举n,验证整除,只做n<=m,其余反过来输出即可

    #include <iostream>
    #include <algorithm>
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <cmath>
    #include <ctime>
    #include <vector>
    
    using namespace std;
    
    vector<pair<long long,long long> >S;
    
    int main()
    {
        long long    x,i,Ans=0;
    
        scanf("%lld",&x);
        for(i=1;;++i)
        {
            long long n=i,m=(6LL*x-n+n*n*n)/(3*n*n+3*n);
            if(n>m)break;
            if((6LL*x-n+n*n*n)%(3*n*n+3*n)==0)
            {
                S.push_back(make_pair(n,m));
            }
        }
        if(S.back().first==S.back().second)
        {
            Ans=-1;
        }
        Ans+=(int)S.size()<<1;
    
        printf("%lld
    ",Ans);
        for(i=0;i<(int)S.size();++i)
        {
            printf("%lld %lld
    ",S[i].first,S[i].second);
        }
    
        if(S.back().first==S.back().second)
        {
            S.pop_back();
        }
        
    
        while(!S.empty())
        {
            printf("%lld %lld
    ",S.back().second,S.back().first);
            S.pop_back();
        }
        return 0;
    }
  • 相关阅读:
    Go之运算符
    前端开发之工具库
    MVC与MVVM
    开发工具之Vscode编辑器
    常用名词汇总
    python常见错误总结
    Python之常用第三方库总结
    PHP程序员的成长路线
    web 应用常见安全漏洞
    redis和memcached的区别详解
  • 原文地址:https://www.cnblogs.com/Gster/p/4984330.html
Copyright © 2011-2022 走看看