首页 > 其他分享 >牛客小白月赛补题65

牛客小白月赛补题65

时间:2023-01-07 11:11:14浏览次数:41  
标签:题目 cout int cin long 牛客 补题 const 65

A .牛牛去购物

这道题目纯纯数学题,一遍一遍更新最小值,我们每一次都用a * i + b * j,计算出最小的答案

ACcode

#include <bits/stdc++.h>
#define int long long 
const int N = 1000010;


int a[N];
using namespace std;
signed main()
{
    int n , a , b;
    cin >> n >> a >> b;
    int min1 = 0x3f3f3f3f;
    
    for(int i = 0 ; i * a <= n ; i ++ )
    {
        for(int j = 0 ; j * b <= n ; j ++ )
        {
            if(i * a + j * b <= n)
            {
                min1 = min(min1 , n - i * a - j * b);
            }
        }
    }
    cout << min1;
    return 0;
    
}

B .牛牛写情书

这道题目就是一个find函数,然后就可以写出来

ACcode

#include <bits/stdc++.h>
#define int long long 
const int N = 1000010;


int a[N];
using namespace std;
signed main()
{
    int n , m ;
    cin >> n >> m;
    string s;
    cin >> s;
    string s1;
    
    for(int i = 0 ; i < s.size() ; i ++ )
    {
        if(s[i] >= 'a' && s[i] <= 'z')
        {
            s1 += s[i];
            
        }
    }
    string s2;
    cin >> s2;
    
    if(s1.find(s2) != -1)
    {
        cout << "YES" ;
    }
    else
    {
        cout << "NO" ;
    }
    return 0;
    
}

C .牛牛排队伍

这道题目我直接用set存储,然后使用一个find就可以,但是在输出答案时我们输出的是指针变量,然后就是这道题时间会卡输入输出,所以就要用题目给出方法输入输出

ACcode

#include <bits/stdc++.h>
#define int long long 
const int N = 1000010;


int a[N];
using namespace std;
signed main()
{
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int n , k;
    cin >> n >> k;
    set<int> s;
    for(int i = 0 ; i <= n ; i ++ )
    {
        s.insert(i);
        
    }
    while(k -- )
    {
        int op , q;
        cin >> op >> q;
        if(op == 1)
        {
            s.erase(q);
        }
        else
        {
            auto u = s.find(q);
            cout << *(-- u) << "\n";
            
        }
    }
    return 0;
    
}

D .牛牛取石子

一道博弈论 有分析可以知道有如下结论

ACcode

#include <bits/stdc++.h>
#define int long long 
const int N = 1000010;


int a[N];
using namespace std;
signed main()
{
    int t;
    cin >> t;
    while(t -- )
    {
        int a , b;
        cin >> a >> b;
        if(min(a , b) % 3 == 0 || (a == b && a % 3 == 1))
        {
            cout << "niumei" << "\n";
            
        }
        else
        {
            cout << "niuniu" << "\n";
            
        }
    }
    return 0;
    
}

 E .牛牛的构造

这道题目是一个非常好的题目,但是思路有一些复杂,所以我就直接上代码了这是个前缀和的题目(这道题目会卡常,不要用 #define int long long)

ACcode

#include <bits/stdc++.h>

const int N = 1000010;


int a[N];
int b[N];

using namespace std;
int main()
{
    int n , k;
    cin >> n >> k;
    for(int i = 1 ; i <= N ; i *= 2 )
    {
        a[i + 1] = 1;
        
    }
    for(int i = 1 ; i <= N ; i ++ )
    {
        a[i] = a[i] + a[i - 1];
        
    }
    for(int i = 1 ; i <= N ; i ++ )
    {
        b[i] = b[i - 1] + a[i];
    }
    if(b[n] < k)
    {
        cout << "-1";
        return 0;
        
    }
    vector<int> l , r;
    for(int i = n ; i >= 1 ; i -- )
    {
        if(k >= a[i])
        {
            l.push_back(i);
            k -= a[i];
            
        }
        else
        {
            r.push_back(i);
        }
    }
    reverse(r.begin() , r.end());
    for(auto u : l)
    {
        cout << u << " ";
    }
    for(auto u : r)
    {
        cout << u << " ";
        
    }
    return 0;
}

 

标签:题目,cout,int,cin,long,牛客,补题,const,65
From: https://www.cnblogs.com/codeforceshobby/p/17031765.html

相关文章

  • CF865B Ordering Pizza 题解
    简要题意:有\(n\)个人去披萨店吃披萨,有两种披萨,每个披萨有\(m\)片。现在第\(i\)个人要吃\(c_i\)片披萨,如果吃一片第一种披萨会获得\(a_i\)的幸运值,如果吃一片第二......
  • THUCTF 待补题(web)
    我真的会谢!(THU提前把通道关了)看了一下T11. What is $<?php//error_reporting(1);functionautoload($class){@include_once(__DIR__.'/'.strtolower(str_r......
  • 『中级篇』Vagrant在本地搭建多节点K8S集群(65)
    nikube搭建是单节点的环境,但是不够直观,这次coreos搭建一个多节点的。源码:​​https://github.com/limingios/docker/tree/master/No.10​​​​https://github.com/limingio......
  • ffmpeg让普通h265视频实现免二次编码SDR to HDR
    参考了这个文章https://cnlang.org/thread-36995-1-1.html工具:ffmpeg/小丸工具箱/安卓ffmpeg以及基于ffmpeg的软件(比如quickcut)使用条件:懂得基本的ffmpeg命令/小......
  • 牛客题目进阶7:数据累加输出
    代码头ready_a声明为了wire型,所以是暗示用组合逻辑。对于三个输出信号,分别来看ready_a:用来和valid_a握手,表示当前模块可以从上游模块接收数据进行累加。所以就要判断在什......
  • 牛客进阶题目6:数据串并转换电路
    接收6个bit之后下一拍输出一个6bit宽的data,注意此时如果valid_a拉高,也要接收新进来的数据这里用移位寄存器计数不太行,不太好让data_b在新数据出来前保持不变,虽然功能一样,......
  • git连续提交365天是什么体验
    19天64天122天:33.3%1234次150天183天:50%200天20003分之2265天2468300天3000次提交90%进度333天最后5天挑战成功......
  • 发送邮箱出现报错:"smtp.exmail.qq.com"port 465, isSSL false
    1、问题:使用邮箱时,出现报错"smtp.exmail.qq.com"port465,isSSLfalse这个使用465端口才会出现这个错误,但是使用25端口就不会出现这个错误 2、分析原因:从网上看是因为......
  • leetcode-657. 机器人能否返回原点
    657.机器人能否返回原点-力扣(Leetcode)刚开始用了个map,比较复杂,后来看了答案,按照这种简单的方式,并且做了len(moves)%2!=0的判断funcjudgeCircle(movesstring......
  • AcWing4655.重新排序
    题目原题链接参考题解AcWing4655.重新排序思路用两个数组,一个数组\(a\)来记录原数组,\(b\)数组来记录每个数字被计算了多少次,题目中给的是$[l,r]$区间内的数字求和,......