zoukankan      html  css  js  c++  java
  • 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*最多的因子数);最多的因子数不会很大的

    代码又很短。

  • 相关阅读:
    mysql TO_DAYS()函数
    MySQL year函数
    protobuff java 包编译(Windows)
    苹果笔记本只有电源键能用的解决办法
    linux普通用户获取管理员权限
    linux用户管理
    基于ASIHTTPRequest封装的HttpClient
    Object-C 多线程中锁的使用-NSLock
    appstore 上传需要的icon
    iPhone之IOS5内存管理(ARC技术概述)
  • 原文地址:https://www.cnblogs.com/forgot93/p/3650681.html
Copyright © 2011-2022 走看看