首页 > 牛客编程巅峰赛S2赛季(初级场第5场)考题参考代码(非官方)
头像
已注销
编辑于 2020-12-01 12:22
+ 关注

牛客编程巅峰赛S2赛季(初级场第5场)考题参考代码(非官方)

牛牛算数

class Solution {
public:
    /**
     * 返回一个数字表示输出计算n个数字和的最小花费的时间。
     * @param n int整型 表示有n个数。
     * @param c int整型 参数c
     * @param a int整型vector ai表示第i个数的大小
     * @return long长整型
     */
    long long solve(int n, int c, vector<int>& a) {
        // write code here
        long long ans=0;
        priority_queue<long long ,vector<long long >,greater<long long > > h;
        for (int i=0; i<n; i++)
        {
            h.push(a[i]);
 
        }
        long long  x,y;
        for (int i=1; i<n; i++)
        {
            x=h.top(),h.pop();
            y=h.top(),h.pop();
            ans+=(x+y); h.push(x+y);
        }
        ans=ans*(long long )c;
        return ans;
        }
};



怕npy的牛牛

class Solution {
public:
    /**
     * 返回符合题意的最长的子串长度
     * @param x string字符串
     * @return int整型
     */
    int Maximumlength(string x) {
        // write code here
        int l=-1,r=-1;
        int maxn=0,flag1=0,flag2=0,flag3=0;
        int n=x.size();
        while(1)
        {
            while(r<n)
            {
                r++;
                if(x[r]=='n')flag1++;
                if(x[r]=='p')flag2++;
                if(x[r]=='y')flag3++;
                if(flag1&&flag2&&flag3)break;
            }
            maxn=max(maxn,r-l-1);
            if(r==n)break;
            while(l<n)
            {
                l++;
                if(x[l]=='n')flag1--;
                if(x[l]=='p')flag2--;
                if(x[l]=='y')flag3--;
                if(flag1==0||flag2==0||flag3==0)break;
            }
        }
        return maxn;
    }
};




中位因数和

const int mod = 998244353;
long long f[1000010];
class Solution {
public:
    /**
     *
     * @param x int整型 给定的x
     * @return int整型
     */
    int sum(int x) {
        // write code here
        for(int i = 1; i <= 1000000; i ++)
            for(long long j = i; j * i <= 1000000; j ++)
                f[i * j] = (i + j) / 2;
        for(int i = 1; i <= 1000000; i ++)
            f[i] = (f[i] + f[i - 1]) % mod;
        return f[x];
    }
};




全部评论

(0) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期精华帖

热门推荐