CCF CSP认证 历年题目自练Day23

news2024/11/17 3:46:12

CCF CSP认证 历年题目自练Day23

题目一

试题编号: 202006-1
试题名称: 线性分类器
时间限制: 1.0s
内存限制: 512.0MB
请添加图片描述
请添加图片描述
请添加图片描述

题目分析(个人理解)

  1. 题目很长,专门吓唬人的,第一行输入两个数n是坐标数,m表示有几条直线,后面的每一行输入点的坐标和该点坐标属于哪一类(A或B)。点输完之后,再输入直线的三个参数,Ax+By+C=0 输入的就是A,B,C。
  2. ok!现在需要判断哪条直线能够将A类和B类一刀切开,也就是直线上方要不全是B类要不全是A类,下方同理。如果能够满足且开的条件那就输出yes否则就no。
  3. 首先,输入的坐标我选择存储在列表中,一个点(带类)存入一个列表中,然后将多个列表追加写入到s[]中,下面进入循环判断的步骤,如何判断是在直线上方还是在下方?那么就不得不分类讨论了,当C等于0时,当x<-B/A时必然在直线上方,反之在下方(用x即可判断下方还是上方)。当C不等于0时,用y判断,如果(th0+th1*x)/-th2>y则就在直线上方(初中数学,一元一次函数)
  4. 在上方就把t写入shang[],在下方就把t写入xia[],最后遍历每一个shang[]和xia[]每一个元素是否有不同的,如果有不同的就输出no 否则输出yes
  5. 上代码!!!
n,m=map(int,input().split())
s=[]#存储坐标
for i in range(n):
    x,y,t=input().split()
    x,y=int(x),int(y)
    s.append([x,y,t])
    
for i in range(m):
    shang = []#位于线上方的点 th2=0时是位于线左边的点
    xia = []#位于线下方的点 th2=0时是位于线右边的点
    bl=True
    th0,th1,th2=map(int,input().split())
    if th2==0:
        for x, y, t in s:
            if x<th0/-th1:
                shang.append(t)
            else:
                xia.append(t)
    else:
        for x,y,t in s:
            if (th0+th1*x)/-th2>y:
                shang.append(t)
            else:
                xia.append(t)
                
    if len(shang) > 1:#仅有一个点则必不可能分类错误
        for j in range(1,len(shang)):
            if shang[j] != shang[j-1]:#不等,即分类错误
                bl=False
                break
    if len(xia)>1:
        for j in range(1,len(xia)):
            if xia[j]!=xia[j-1] or bl==False:#加bl为减少时间复杂度
                bl=False
                break
    if bl==False:
        print("No")
    else:
        print("Yes")

题目二

试题编号: 202006-2
试题名称: 稀疏向量
时间限制: 2.0s
内存限制: 512.0MB

请添加图片描述
请添加图片描述

题目分析(个人理解)

  1. 第一种方法, 全部采用列表存储和操作,第一行输入n维度,后面输入向量v和u不为0的数有几个(我记为m1,m2)。
  2. 之后每一行输入不为0的数的位置和值,我们不难发现m1+m2就是向量维度不为0的个数。我将不为0的值追加写入s[]中,然后判断s[0][0]到s[m1+m2-1][0]是否有相等的,如果相等就把s[][1]*s[][1]累加到num中。最后输出即可,但是注意,此种方法逻辑没问题就是时间复杂度太大了,超时了,不行。
  3. 代码如下:
n,m1,m2=map(int,input().split())
num=0
s=[]
for i in range(m1+m2):
	l=list(map(int,input().split()))
	s.append(l)
for j in range(m1+m2-1):
	for k in range(1,m1+m2):
		if s[j][0]==s[k][0] and k!=j:
			num+=s[j][1]*s[k][1]
print(num)	
  1. 我只好采用字典去存储和操作,将键设置为维度,值设置为对应维度的值,然后遍历字典中的键,然后存在就相乘最后加在num中,最后输出即可!
  2. 上代码!!!
n,a,b=map(int,input().split())
u={}
for i in range(a):
    k,e=map(int,input().split())
    u[k]=e
num=0
for i in range(b):
    k,e=map(int,input().split())
    if k in u.keys():
        num+=e*u[k]
print(num)

总结

好饿!!!!还要开班会!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1065672.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安卓‘进度条ProgressBar’中‘setIndeterminate()’方法

在进度条的设置中&#xff0c;setIndeterminate()方法是用来设置进度条是否采用‘模糊模式’&#xff08;Indeterminate的意思就是‘不确定的&#xff0c;模糊的&#xff0c;不明确的’ 也就是进度是否是确定的&#xff09; 当设置setIndeterminate(true)参数为真时&#xff0c…

Compose中的Text组件

纵向布局为&#xff1a;Column 横向布局为&#xff1a;Row 设置内容 text属性设置内容。 设置权重 Modifier.weight(1.0f, true)权重设置&#xff0c;第一个参数 Float类型设置占比权重&#xff0c;第二个参数当为true时&#xff0c;元素将占据分配的整个宽度。 fontSize…

李沐深度学习记录3:11模型选择、欠拟合和过拟合

通过多项式拟合探索欠拟合与过拟合 import math import numpy as np import torch from torch import nn from d2l import torch as d2l#生成数据集 max_degree 20 # 多项式的最大阶数 n_train, n_test 100, 100 # 训练和测试数据集大小 true_w np.zeros(max_degree) # …

VMware 17pro安装流程附带密钥手把手教

VMware 17pro centos-8.5.2111-isos-x86_64安装包下载_开源镜像站-阿里云 安装VMware 17pro 下一步 勾选我接营许可协议中的条款点击下一步 更改路径后点击下一步 注意两个都要取消勾选不然会自动更新 下一步即可 最后一步为安装就行&#xff08;我电脑上有VMware 16pro所以我的…

3.绘制一个点(鼠标点击)

愿你出走半生,归来仍是少年&#xff01; 通过鼠标点击交互&#xff0c;实现在gl中绘制点。 1.知识点 1.1.点击坐标转换为Gl坐标 通过canvas的点击事件将会获得鼠标在浏览器客户区中的坐标。通过移除canvas自身位置后可获取鼠标在canvas中的点击位置。同时通过canvas的长宽将坐…

Mini-dashboard 和meilisearch配合使用

下载的meilisearch一般是development模式&#xff0c;内置客户端&#xff0c;修改客户端后需要重要全部编译&#xff0c;花时间太长了。前后端分离才是正道&#xff0c;客户端修改不用重新编译后端。 方法如下&#xff1a; 1、修改配置文件/etc/meilisearch.toml&#xff0c;…

磁盘io使用率高问题排查

Linux系统出现了性能问题&#xff0c;一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。 1.小文件读写的磁盘性能瓶颈是寻址&#xff08;随机读写性能更差&#xff09;评估标准:TPS 2.大文件读写的磁盘性能瓶颈…

cereal:支持C++11的开源序列化库

cereal:支持C11的开源序列化库 文章目录 一&#xff1a;引言二、cereal简介三、cereal的下载和使用 一&#xff1a;引言 序列化 (Serialization) 程序员在编写应用程序的时候往往需要将程序的某些数据存储在内存中&#xff0c;然后将其写入某个文件或是将它传输到网络中的另…

认识计算机主板

目录 定义主要部件简单图示 主要功能 定义 计算机主板&#xff08;Motherboard&#xff09;是计算机系统中的核心组件之一&#xff0c;也被称为系统板、主板或母板。它是一个电子电路板&#xff0c;用于连接和支持计算机的各种硬件组件&#xff0c;包括中央处理器&#xff08;…

零售业:别让数据安全成为业务的绊脚石!(附文件下载)

零售业上榜&#xff01; 截至2023年8月31日&#xff0c;南都大数据研究院通过各地行政执法公示平台、媒体报道等公开渠道&#xff0c;收集到146起依据《数据安全法》作出行政处罚决定的案例。梳理发现&#xff0c;零售业以10.27%的占比位居行业第三&#xff0c;成为数据安全行…

尚硅谷Nginx教程由浅入深--笔记

尚硅谷Nginx教程由浅入深--笔记 Nginx简介Nginx相关概念反向代理负载均衡动静分离 Nginx安装Nginx命令Nginx配置Nginx配置实例反向代理1反向代理2负载均衡动静分离 Nginx简介 Nginx是一个高性能的HTTP和反向代理服务器&#xff0c;特点是内存占用少&#xff0c;并发能力强。 …

高铁站高速稳定用网秘籍,赶紧收藏

中秋国庆黄金周将至&#xff0c;销售旺季即将来临。车来车往、人潮涌动&#xff0c;稳定可靠的网络连接&#xff0c;成为了各大小商户抢占市场、掌握流量密码的关键。 在湖南省郴州市&#xff0c;某食品连锁商店负责人正在为店铺网络问题发愁。该连锁店部分销售网点位于繁忙的高…

Pikachu靶场——暴力破解

文章目录 1. 暴力破解1.1 基于表单的暴力破解1.2 验证码绕过(on server)1.3 验证码绕过(on client)1.4 token防爆破?1.5 漏洞防御 1. 暴力破解 暴力破解漏洞是指攻击者通过尝试各种组合的用户名和密码&#xff0c;以暴力方式进入系统或应用程序的方法。它利用了系统或应用程序…

睿趣科技:新手无货源怎么开抖音小店

抖音小店的开设对于许多商家来说是一个有吸引力的选择&#xff0c;尤其是对于那些喜欢短视频和社交媒体的年轻人。然而&#xff0c;对于没有货源的新手来说&#xff0c;这可能是一个令人头疼的问题。这篇文章将为你提供一些解决方案。 首先&#xff0c;你可以考虑从批发市场购买…

掌握SKILL语言:数字IC设计师必备的技能之一

去年在各个平台更新了一篇《数字IC必学之《Skill入门教程》建议收藏&#xff01;》&#xff0c;阅读量在每个平台都很客观&#xff0c;且这半年以来&#xff0c;不断有粉丝留言想要获取这份资料。看来大家对于SKILL的需求是很大的&#xff0c;想要掌握SKILL语言&#xff1a;数字…

95、Spring Data Redis 之使用RedisTemplate 实现自定义查询 及 Spring Data Redis 的样本查询

Spring Data Redis 之使用RedisTemplate 实现自定义查询 Book实体类 原本的接口&#xff0c;再继承我们自定义的接口 自定义查询接口----CustomBookDao 实现类&#xff1a;CustomBookDaoImpl 1、自定义添加hash对象的方法 2、自定义查询价格高于某个点的Book对象 测试&a…

微信小程序wxs标签 在wxml文件中编写JavaScript逻辑

PC端开发 可以在界面中编写JavaScript脚本 vue/react这些框架更是形成了一种常态 因为模板引擎和jsx语法本身就都是在js中的 我们小程序中其实也有类似的奇妙写法 不过先声明 这东西不是很强大 我们可以先写一个案例代码 wxml代码参考 <view><wxs module"wordSt…

如何与瑞诺司Rhenus 建立EDI连接?

Rhenus Automotive 是德国百年家族企业Rethmann Group的子公司&#xff0c;提供从零部件的有序供应、即装即用模块的组装&#xff0c;一直到整车的组装。主要在全球范围内为劳斯莱斯&#xff0c;宝马&#xff0c;奔驰&#xff0c;奥迪等汽车企业提供智能制造解决方案。 项目挑战…

阿拉伯文排版是如何实现的

背景&#xff1a; 今天开工了&#xff0c;无意间看到多语言的页面&#xff0c;毕竟我们网站也是有多语言的 但是并没有阿拉伯语。但是我很好奇&#xff0c;分析阿拉伯语言的css并没有发现什么猫腻&#xff01; 到底是怎么实现的呢&#xff1f; 解&#xff1a; html dir 属性 …

聊聊MySQL的聚簇索引和非聚簇索引

文章目录 1. 索引的分类1. 存储结构维度2. 功能维度3. 列数维度4. 存储方式维度5. 更新方式维度 2. 聚簇索引2.1 什么是聚簇索引2.2 聚簇索引的工作原理 3. 非聚簇索引&#xff08;MySQL官方文档称为Secondary Indexes&#xff09;3.1 什么是非聚簇索引3.2 非聚簇索引的工作原理…