zoukankan      html  css  js  c++  java
  • P1338 末日的传说,P1372 P1414 又是毕业季——贪心

    一个1到n序列,合理排序逆序对数要求是m,而且字典序要求最小;

    这个题,因为数字只能用一次,所以我们可以知道什么位置放什么数逆序对的个数会增加或减少多少;

    先求出最多能产生的数量,每次先输出最小的数,用总数减去减少的逆序对数;

    如果不够的时候就要用大数排在前面;

    vector,记得输出一个删一个;

    #include<cstdio>
    #include<vector>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    typedef long long ll;
    ll n,m;
    ll now;
    vector<ll> v;
    int main()
    {
        scanf("%lld%lld",&n,&m);
        for(ll i=1;i<=n;i++) v.push_back(i);
        ll s=n*(n-1)/2;
        for(int i=n-1;i>=0;i--)
        {
            s-=i;
            if(m>s)
            {
                now=m-s;
                m=s;
            }
            else now=0;
            printf("%lld ",v[now]);
            v.erase(v.begin()+now);
        } 
        return 0;
    }

    又是毕业季我什么也不想说

    1到n这些数中,找到k个,使他们的GCD最大,输出GCD;

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int n,k;
    int main()
    {
        scanf("%d%d",&n,&k);
        printf("%d",n/k);
        return 0;
    }

    又是毕业季II

    这回数字不连续而且k的值是变的;

    把所有的数的公约数的数量记一下就好了

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    const int maxn=1e6+10;
    int n,x;
    int c[maxn];
    int maxx;
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&x);
            maxx=max(maxx,x);
            int m=sqrt(x);
            for(int j=1;j<=m;j++)
            {
                if(x%j==0)
                {
                    c[j]++;
                    if(x/j!=j) c[x/j]++;
                }
            }
        }
        x=maxx;
        for(int i=1;i<=n;i++)
        {
            while(c[x]<i) x--;
            printf("%d
    ",x);
        }
        return 0;
    }
  • 相关阅读:
    [JS11] 状态栏滚动
    [JS10] 获取时间
    [JS9] document's bgColor改变背景颜色
    [JS8] 显示从(0,0)到(0,0)的坐标
    [JS7] 显示从0到99的100个数字
    使用StringBuilder或StringBuffer简单优化
    启动一个线程的三种方法
    设置IE浏览器指定的功能
    jquery 判断元素是否存在于数组中
    Hibernate validator验证
  • 原文地址:https://www.cnblogs.com/WHFF521/p/11544733.html
Copyright © 2011-2022 走看看