CCF CSP认证 历年题目自练Day23

2023-10-07 03:12

本文主要是介绍CCF CSP认证 历年题目自练Day23,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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=Trueth0,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=Falsebreakif len(xia)>1:for j in range(1,len(xia)):if xia[j]!=xia[j-1] or bl==False:#加bl为减少时间复杂度bl=Falsebreakif 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)

总结

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

这篇关于CCF CSP认证 历年题目自练Day23的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/155684

相关文章

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

题目1254:N皇后问题

题目1254:N皇后问题 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: N皇后问题,即在N*N的方格棋盘内放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在同一斜线上。因为皇后可以直走,横走和斜走如下图)。 你的任务是,对于给定的N,求出有多少种合法的放置方法。输出N皇后问题所有不同的摆放情况个数。 输入

题目1380:lucky number

题目1380:lucky number 时间限制:3 秒 内存限制:3 兆 特殊判题:否 提交:2839 解决:300 题目描述: 每个人有自己的lucky number,小A也一样。不过他的lucky number定义不一样。他认为一个序列中某些数出现的次数为n的话,都是他的lucky number。但是,现在这个序列很大,他无法快速找到所有lucky number。既然

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

【408数据结构】散列 (哈希)知识点集合复习考点题目

苏泽  “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家    知识点 1. 散列查找 散列查找是一种高效的查找方法,它通过散列函数将关键字映射到数组的一个位置,从而实现快速查找。这种方法的时间复杂度平均为(

CSP-J基础之数学基础 初等数论 一篇搞懂(一)

文章目录 前言声明初等数论是什么初等数论历史1. **古代时期**2. **中世纪时期**3. **文艺复兴与近代**4. **现代时期** 整数的整除性约数什么样的整数除什么样的整数才能得到整数?条件:举例说明:一般化: 判断两个数能否被整除 因数与倍数质数与复合数使用开根号法判定质数哥德巴赫猜想最大公因数与辗转相除法计算最大公因数的常用方法:举几个例子:例子 1: 计算 12 和 18

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que

【Shiro】Shiro 的学习教程(二)之认证、授权源码分析

目录 1、背景2、相关类图3、解析3.1、加载、解析阶段3.2、认证阶段3.3、授权阶段 1、背景 继上节代码,通过 debug 进行 shiro 源码分析。 2、相关类图 debug 之前,先了解下一些类的结构图: ①:SecurityManager:安全管理器 DefaultSecurityManager: RememberMeManager:实现【记住我】功能

CCF推荐C类会议和期刊总结(计算机网络领域)

CCF推荐C类会议和期刊总结(计算机网络领域) 在计算机网络领域,中国计算机学会(CCF)推荐的C类会议和期刊为研究者提供了广泛的学术交流平台。以下是对所有C类会议和期刊的总结,包括全称、出版社、dblp文献网址以及所属领域。 目录 CCF推荐C类会议和期刊总结(计算机网络领域) C类期刊 1. Ad Hoc Networks 2. CC 3. TNSM 4. IET Com