牛客周赛45

a小紫的总分


小紫总分

ac code

#include<iostream>
using namespace std;
int res=0;
int main(){
    for(int i=0;i<5;i++){
        int a;cin>>a;
        res+=a;
    }
    if(res>100)printf("YES\n");
    else printf("NO\n");
    return 0;
}

b小蓝的旅游


小蓝旅游

ac code

#include<iostream>
using namespace std;
int main(){
    int a,b;scanf("%d%d",&a,&b);
    if(a%2==0||b%2==1)printf("YES\n");
    else printf("NO\n");
}

c小粉的好数


小粉好数

ac code

#include<iostream>
using namespace std;
int st[100010];//st数组储存是否为好数
int res=0;
bool key(int n){
    int tmp=n;
    int ans=0;
    while(n){//求出各个位数
        ans+=n%10;
        n/=10;
    }
    if(ans%2==0&&ans>=tmp)return true;
    else if(ans%2==0&&st[ans])return true;
    else return false;
}
int main(){
    for(int i=1;i<=100000;i++){
        if(key(i)){
            st[i]=true;
            
        }
    }
    int n;scanf("%d",&n);
    for(int i=1;i<=n;i++){
        if(st[i])res++;
    }
    printf("%d",res);
}

d 小黑的区间


小黑区间

该题使用双指针,也可以说是滑动窗口,j指针在左边,i指针靠右,注意这里:res+=j-i,举个例子,i=3;j=6,那么j-i=3,表示以3为起点,j为终点的区间中有3,3;3,4;3,5这三个区间,(仔细看代码,这里i是闭区间,j是开区间)

ac code

#include<bits/stdc++.h>
using namespace std;
int mp[100010];
int arr[100010];
long long res=0;
int main(){
    memset(mp,-1,sizeof(mp));
    int n,k;scanf("%d%d",&n,&k);
    for(int i=0;i<n;i++){
        scanf("%d",&arr[i]);
    }
    for(int i=0,j=0;i<n;i++){
        while(j<n&&(mp[arr[j]]<i||j-mp[arr[j]]<=k)){
            //如果j在正常区间,而且当前颜色没有出现过或者与上一次
            //差值小于给定距离,成立
            
            mp[arr[j]]=j;j++;
        }
        //printf("在%d-%d处出错\n",i,j);
       // if(mp[arr[i]=i])mp[arr[i]]=0;//i向右走了,当前i值更新一下
        res+=j-i;
        //printf("此时符合区间%d-%d\n",i,j);
        
    }
    printf("%lld",res);
    return 0;
}

这题卡到map了,改了半天,map容器是整形的话,初始值是0,那这里如果我用map<int,int>mp,就会在第一次进入while循环时候卡死,改为数组后初始化为-1才解决这个问题。

相关推荐

  1. 45

    2024-06-06 07:00:07       29 阅读
  2. Round 40(补题)C题

    2024-06-06 07:00:07       39 阅读
  3. Round 46 题解 C++

    2024-06-06 07:00:07       28 阅读
  4. 26

    2024-06-06 07:00:07       55 阅读
  5. 39

    2024-06-06 07:00:07       36 阅读
  6. 51

    2024-06-06 07:00:07       27 阅读

最近更新

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

    2024-06-06 07:00:07       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 07:00:07       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 07:00:07       87 阅读
  4. Python语言-面向对象

    2024-06-06 07:00:07       96 阅读

热门阅读

  1. 深度学习 - 张量的广播机制和复杂运算

    2024-06-06 07:00:07       31 阅读
  2. 音视频开发_SDL彻底理解纹理

    2024-06-06 07:00:07       29 阅读
  3. salesforce inactive的用户会收到通知邮件吗

    2024-06-06 07:00:07       30 阅读
  4. Kubernetes (K8s) 普及指南

    2024-06-06 07:00:07       26 阅读
  5. WEB三大主流框架之React

    2024-06-06 07:00:07       24 阅读
  6. Nuxt - middleware 路由中间件

    2024-06-06 07:00:07       30 阅读