• codeforces #240 div 2


    A:语文题,估计大家都会,

    B题:假如答案是ans,求最大的ans,是w*a/b==(w-ans)*a/b;

    明显的二分,可是我的二分写的没水准,还有是直接做:

         #include<string.h>

    #include<algorithm>
    #include<cmath>
    #include<cstdio>
    #include<string>
    #include<iostream>
    using namespace std;
    int main()
    {
        int n;
        long long a,b;;
        cin>>n>>a>>b;
        for (int i=1;i<=n;i++)
        {
            long long x;
            cin>>x;
            long long w=x*a/b;
            cout<<(x*a-w*b)/a<<" ";//自己手算应该能理解什么意思吧
        }
        return 0;

    } 

    C:我 lastest blood,最后一分钟PASS,囧

      我的思路是:ai可以很大,那么a1,a2就用掉了k-(n/2-1) points,那么剩下的每1对数就1POINTS,假如N为奇数,a[n]=a[n-1]+1;

     因为a[i]可以大于k的9倍,所以答案不会超,代码又很短。。。

    #include<iostream>
    using namespace std;
    int a[200000];
    int n,k;
    int main()
    {
        cin>>n>>k;//判断
        if (n==1&&k==0){
        cout<<1<<endl;
        return 0;
        }
        if (n==1&&k||n/2>k)
        {
            cout<<-1<<endl;
            return 0;
        }
        int t=k-n/2+1;//a[1]赋值
        cout<<t<<" "<<t*2;//输出a[1],a[2];
        for (int i=3;i<=n;i++)
        cout<<" "<<t*2+i-2;
        return 0;

    } 

    D:没时间看了,比赛只看的一分钟,

    状态方程:f[i][j]=(f[i][j]+f[i-1][k])%10^9+7;K能被J整除,i:数组长度,j:最后一位数

    #include<iostream>

    #include<string.h>
    using namespace std;
    long long  f[2001][2001];
    int num[2001][2001];
    const int maxn=1000000007;
    int n,k;
    int main()
    {
        for (int i=1;i<=2000;i++)
        for (int j=1;j<=i;j++)
        if (i%j==0) num[i][++num[i][0]]=j;

        cin>>n>>k;
        for (int i=1;i<=n;i++)
        f[1][i]=1;
        for (int i=2;i<=k;i++)
        for (int j=1;j<=n;j++)
        {
        for (int b=1;b<=num[j][0];b++)
        f[i][j]=(f[i][j]+f[i-1][num[j][b]])%maxn;
        }
        long long ans=0;
        for (int i=1;i<=n;i++)
        ans=(ans+f[k][i])%maxn;
        cout<<ans<<endl;
        return 0;
    }

    看起来O(N*k*k);我们可以先预处理因子,再直接用

    大概O(n*m*最多的因子数);最多的因子数不会很大的

    代码又很短。

  • 相关阅读:
    spring-base.xml
    计算和证明施密特正交,写的很清楚
    推理
    存在某种关系时,推理存在新关系
    PyCharm 技巧
    3#记录
    2#记录
    一文揭秘!自底向上构建知识图谱全过程
    1#记录
    本体建模小结
  • 原文地址:https://www.cnblogs.com/forgot93/p/3650681.html
Copyright © 2020-2023  润新知