牛客小白月赛92题解

A-获得木头_牛客小白月赛92 (nowcoder.com)

void solve()
{
    cin>>n;
    cout<<n*2*4<<endl;
}

B-采矿时间到!_牛客小白月赛92 (nowcoder.com)
思路:先把矿道两边的矿石挖走,在把里面的矿石挖走即可

void solve()
{
    cin>>n>>m;
    for(int i=1;i<=5;i++)
          for(int j=1;j<=n;j++)cin>>s[i][j];
    int res=0,ans=0;
    for(int i=1;i<=n;i++)
    {
        if(s[2][i]=='*')res++;
        if(s[4][i]=='*')res++;
    }
    if(res>=m)
    {
        cout<<min(res,m)<<endl;
        return;
    }
    int cnt=0;
    for(int i=1;i<=n;i++)
    {
        if(s[2][i]=='*'&&s[1][i]=='*')cnt++;
        if(s[4][i]=='*'&&s[5][i]=='*')cnt++;
        if(s[2][i]=='#'&&s[1][i]=='*')ans++;
        if(s[4][i]=='#'&&s[5][i]=='*')ans++;
    }
    int t=m-res;
    if(t<=cnt)cout<<res+min(t,cnt)<<endl;
    else cout<<res+cnt+min(ans,(t-cnt)/2)<<endl;
}

C-耕种时间到!_牛客小白月赛92 (nowcoder.com)
思路:模拟,因为每次所有的种子都要操作所有种子的等级都会变成 ⌊ a i 3 ⌋ \left \lfloor \frac{a_{i}}{3}\right \rfloor 3ai所以只要看最大的 a i a_{i} ai,发现最多模拟 l o g 3 1 0 9 log_{3}{10^{9}} log3109即可把所有情况枚举出来。

bool cmp(const pair<int, int> left,const pair<int,int> right){
	return left.x < right.x;
}

void solve()
{
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    cin>>x;
    map<int,int>mp;
    for(int i=1;i<=n;i++)
          mp[a[i]]++;
      auto t=max_element(mp.begin(),mp.end(),cmp);

    int res=max(0ll,mp[x]);
    for(int i=1;i<=40;i++)
    {
        map<int,int>cnt;
        for(auto x:mp)
            cnt[(x.first+2)/3]=cnt[(x.first+2)/3]+2*x.second;
   auto t=max_element(cnt.begin(),cnt.end(),cmp);
    if(t->first<x)break;
     res=max(res,cnt[x]);
        mp=cnt;
    }
    cout<<res<<endl;
}

D-探索的时光_牛客小白月赛92 (nowcoder.com)
思路:把题目给的公式 f ( i ) = ( i − x ) 2 ∗ a i f(i)=(i-x)^{2}*a_{i} f(i)=(ix)2ai拆开变成 f ( i ) = i 2 ∗ a i + x 2 ∗ a i − 2 ∗ i ∗ x ∗ a i f(i)=i^{2}*a_{i}+x^{2}*a_{i}-2*i*x*a_{i} f(i)=i2ai+x2ai2ixai
然后就会变成 ∑ i = 1 n f ( i ) = x 2 ∗ ∑ i = 1 n a i + ∑ i = 1 n i 2 ∗ a i − 2 ∗ x ∗ ∑ i = 1 n i ∗ a i \sum_{i=1}^{n}f(i)=x^{2}*\sum_{i=1}^{n}a_{i}+\sum_{i=1}^{n}i^{2}*a_{i}-2*x*\sum_{i=1}^{n}i*a_{i} i=1nf(i)=x2i=1nai+i=1ni2ai2xi=1niai
然后对 ∑ i = 1 n a i \sum_{i=1}^{n}a_{i} i=1nai, ∑ i = 1 n i 2 ∗ a i \sum_{i=1}^{n}i^{2}*a_{i} i=1ni2ai, ∑ i = 1 n i ∗ a i \sum_{i=1}^{n}i*a_{i} i=1niai预处理,之后只要枚举 x x x的位置即可

void solve()
{
    cin>>n;
    int s=0,ss=0,tt=0;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        s+=a[i];
        ss+=i*i*a[i];
        tt+=2*i*a[i];
    }

    int res=0x3f3f3f3f3f3f3f3f;
    for(int i=1;i<=n;i++)
    {
        res=min(res,i*i*s+ss-i*tt);
    }
    cout<<res<<endl;
}

相关推荐

  1. 92题解

    2024-04-29 08:14:02       33 阅读
  2. 83

    2024-04-29 08:14:02       62 阅读
  3. 84

    2024-04-29 08:14:02       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-29 08:14:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-29 08:14:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-29 08:14:02       82 阅读
  4. Python语言-面向对象

    2024-04-29 08:14:02       91 阅读

热门阅读

  1. OSS 文件下载-Excel

    2024-04-29 08:14:02       34 阅读
  2. 【Firewall】服务器访问限制白名单

    2024-04-29 08:14:02       30 阅读
  3. 无人机在测绘领域的应用

    2024-04-29 08:14:02       28 阅读
  4. 41 对MVC,MVP,MVVM的理解

    2024-04-29 08:14:02       26 阅读
  5. 2385. 感染二叉树需要的总时间

    2024-04-29 08:14:02       35 阅读
  6. Spark RDD

    Spark RDD

    2024-04-29 08:14:02      26 阅读
  7. 从零学算法135

    2024-04-29 08:14:02       30 阅读
  8. Python.第六章函数应用实例

    2024-04-29 08:14:02       32 阅读
  9. Chrome插件开发:开启浏览器功能的无限可能

    2024-04-29 08:14:02       27 阅读
  10. Rapidly exploring Random Trees(RRT)类算法

    2024-04-29 08:14:02       35 阅读