第三次周赛补题赛

A.我是签到题啊!
在这里插入图片描述
题意:看图中的题可以很明显的看出来.
思路:由费马大定理得不存在
费马大定理链接(百度百科)
https://baike.baidu.com/item/费马大定理/80363?fr=aladdin

参考代码:
#include<stdio.h>
int main()
{
    printf("NO");
    return 0;
}

B.我是简单题
在这里插入图片描述
题意:学长当遇到名字首字母或末尾字母为s(不是一个确定的字母)时才帮忙点赞,每点一次赞学长就会降低k点幸福值,在学长幸福值m<=0时学长会停止盖楼,此时就要输出点赞的次数,如果学长不需要盖楼就输出NICE DAY!.
思路:先定义结构体记录个个人的姓名,在用for循环对姓名的首字母和末位字母与s(你输入的某个字母)进行比较,若相等则减少k点幸福值,若是幸福值降到0或者循环自然结束,输出此时的点赞数(若不需要点赞则输出NICE DAY!)

参考代码:
#include<bits/stdc++.h>
#include<string.h>
using namespace std;
struct lport
{
    char ch[10005];
    int a;
}v[10005];
int main()
{
    int N;
    scanf("%d",&N);
    while(N--)
    {
        long long m,i,k,n;
        char s;
        scanf("%lld%lld%lld",&m,&k,&n);
        scanf(" %c",&s);
        for(i=1;i<=n;i++)
        {
            scanf("%s",v[i].ch);
            v[i].a=strlen(v[i].ch);
            //printf("%d",v[i].a);
        }
        long long c=0;
        for(i=1;i<=n;i++)
        {
            if(v[i].ch[0]==s||v[i].ch[v[i].a-1]==s)
            {
                m=m-k;
                c++;
                //printf("%d ",m);
            }
            if(m<=0)
                break;
        }
        if(c==0)
            printf("NICE DAY!\n");
        if(c>0)
            printf("%d\n",c);
    }
    return 0;
}

C.我才是简单题

注意数的范围!注意数的范围!注意数的范围!

在这里插入图片描述
题意:一共有n块布,你需要用最少的价钱把所有的布买下来,但是你想直接买第n块布时,你需要花费n*那块布的单价,当你先买完第一块布再买第二块布时,你只需要花费第二块布的单价,遇到布的单价时,卖家倒贴钱给你.讲真这样做生意真的会亏死的
思路:可以先记录负数的位置,用贪心的思想先倒序买价格为负的布,在顺序把价格为正的不买下来,也可以判断遇到正数直接求和,遇到负数先乘布的序号在求和.

参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
    long long n;
    while(~scanf("%lld",&n))
    {
        long long a[1000005],i,s=0;
        for(i=1;i<=n;i++)
        {
            scanf("%lld",&a[i]);
        }
        for(i=1;i<=n;i++)
        {
            if(a[i]<0)
                s=s+a[i]*i;
            else s=s+a[i];
        }
        printf("%lld\n",s);
    }
    return 0;
}

D.暴力我啊!
在这里插入图片描述
题意:有一个矩形的方正上面有n乘n个格子,每个格子中装有敌人(每个格子中装有敌人数可以不相同)你的可以轰炸m乘m范围的敌人(n>m)你需要输出击杀敌人最多的那次轰炸的敌人数.
思路:四重for循环暴力解决 (不暴力我也不会,我太菜了),第一,二重for循环表示能轰炸次数,第三,四重for循环表示轰炸m*m的范围的敌人数之和.

参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
    int n,m,k=0;
    while(~scanf("%d%d",&n,&m))
    {
        k++;
        int i,j,u,h;
        int a[105][105];
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
                scanf("%d",&a[i][j]);
        }
        int s=0;
        for(i=m;i<=n;i++)
        {
            for(j=m;j<=n;j++)
            {
                int x=0;
                for(u=i-m+1;u<=i;u++)
                {
                    for(h=j-m+1;h<=j;h++)
                    {
                        x=x+a[u][h];
                    }
                }
                if(x>s)
                s=x;
            }
        }
        printf("%d\n",s);
        if(k==100)
            break;
    }
    return 0;
}

E.暴力啥啊!

double会爆!double会爆!double会爆!

在这里插入图片描述
题意:题意很简单就是给你一堆数,求其中两个数的差与这两个数的序号的差的商.(输出的是保留两位小数的浮点数)
思路:当你把序号看成横坐标,数A[i]看成纵坐标就是一道求斜率的题,后又不难看出当序号的差是1的时候才能出现斜率的最大值.

参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        int a[10005];
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        int s=-2e9-5,x;
        for(int i=1;i<n;i++)
        {
            x=a[i+1]-a[i];
            if(x>s)
                s=x;
        }
        printf("%d.00\n",s);
    }
    return 0;
}

F.我也是签到题
在这里插入图片描述
题意:是否存在一个三位的十进制数,它的各个位上的数之和与它十六进制,十二进制各个位上的数之和都相等.
思路:单纯的进制转换,后把各个数相加,在比较即可.

参考代码:
#include<stdio.h>
#include<string.h>
int cmp(int a,int b)
{
    int s=0;
    while(a)
    {
        s=s+a%b;
        a/=b;
    }
    return s;
}
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int n;
        scanf("%d",&n);
        if(cmp(n,10)==cmp(n,12)&&cmp(n,10)==cmp(n,16))
            printf("Specializ!!!\n");
        else printf("disappointment....\n");
    }
    return 0;
}

G.我才是签到题
在这里插入图片描述
题意:现需要两个性别不同的人来进行游戏,他们会给我们两个人的学号或名字,需要我们来告诉他们他们所说的两个人是否能进行游戏.
思路:先用结构体记录每个人的信息在,在他询问我们某两个人是否能一起进行游戏时,在结构体中寻找他们的性别来进行比较.

参考代码:
#include<bits/stdc++.h>
#include<string.h>
using namespace std;
struct lport
{
    char ch[10005];
    char a[10005];
    char s;
}v[10005];
int main()
{
    int N,i;
    scanf("%d",&N);
    for(i=1;i<=N;i++)
    {
        scanf("%s%s %c",v[i].ch,&v[i].a,&v[i].s);
    }
    int m;
    long long n=1,y=0,e=0;
    scanf("%d",&m);
    while(m--)
    {
        char b[10005],c[10005];
        scanf("%s%s",b,c);
        if(b[0]-48>=0&&b[0]-48<=9)
        {
            for (i=1;i<=N;i++)
            {
                if(strcmp(b,v[i].a)==0)
                {
                    y=i;
                    break;
                }
            }
        }
        else for(i=1;i<=N;i++)
        {
            if(strcmp(b,v[i].ch)==0)
            {
                y=i;
                break;
            }
        }
        if(c[0]-48>=0&&c[0]-48<=9)
        {
            for (i=1;i<=N;i++)
            {
                if(strcmp(c,v[i].a)==0)
                {
                    e=i;
                    break;
                }
            }
        }
        else for(i=1;i<=N;i++)
        {
            if(strcmp(c,v[i].ch)==0)
            {
                e=i;
                break;
            }
        }
        if(v[e].s==v[y].s)
            printf("n\n");
        else printf("Y\n");
    }
    return 0;
}

I.我是个防AK题你信吗?
在这里插入图片描述
题意:给你一个字符串,你需要找到l,w,p这三个字母(区分大小写)
思路:题意中或许讲不清,反正就是在字符串中找到l,w,p这三个字母的数量,在输出三个字母出现的次数最少的那个字母的那个值就好了~~(原谅我在比赛时想太多了)~~

参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
    int n;
    scanf("%d",&n);
    while(n--)
    {
        char ch[10005];
        int a[3]={0};
        scanf("%s",ch);
        for(int i=0;i<strlen(ch);i++)
        {
            if(ch[i]=='l'||ch[i]=='L')
                a[0]++;
            if(ch[i]=='w'||ch[i]=='W')
                a[1]++;
            if(ch[i]=='p'||ch[i]=='P')
                a[2]++;
        }
        if(a[0]>a[1])
            a[3]=a[1];
        else a[3]=a[0];
        if(a[3]>a[2])
            a[3]=a[2];
        printf("%d",a[3]);
        printf("\n");
    }
    return 0;
}

J.听取wa声一片
在这里插入图片描述
题意:就是简单问你换与不换的概率.
思路:由三门问题可轻松得出答案.
三门问题的百度百科链接:
(https://baike.baidu.com/item/三门问题/1242689?fr=aladdin

参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
    printf("0.333 0.667");
}

完成了!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值