CCF CSP认证 历年题目自练Day26

2023-10-10 04:36

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

题目一

试题编号: 202012-1
试题名称: 期末预测之安全指数
时间限制: 1.0s
内存限制: 512.0MB
请添加图片描述
请添加图片描述

题目分析(个人理解)

  1. 还是先看输出,此题简单的离谱,第一行输入小菜有几个测评依据,然后后面的n行输入每项测评依据的重要度,和分数。
  2. 再看输出,那个 RELU函书其实就是输出:如果总分大于0就输出分数,如果小于或等于0就输出0即可。
  3. 代码如下!!!
n=int(input())
num=0
for i in range(n):w,score=map(int,(input().split()))num+=w*score
if num>0:print(num)
else:print(0)

题目二

试题编号: 202012-2
试题名称: 期末预测之最佳阈值
时间限制: 1.0s
内存限制: 512.0MB
请添加图片描述
请添加图片描述

题目分析(个人理解)

  1. 先看输入第一行是输入有n需要判断预测是否正确的数,之后的n行输入对应的yi和result i 。
  2. 我依旧选择列表存储,字典的keys必须为一,将yi 或result i作为keys都不 满足条件。for i in range(m):
    y_result.append(list(map(int,input().split())))
  3. 然后先按照reslut降序排列,再按照yi升序排列,之后到核心代码去判断每一个y作为阈值之后,预测正确的有几项,预测正确的情况有两种,第一种是大于等于yi的reslut值为1。第二种是小于yi的result值为0。这两种分别判断然后计数再相加存在列表中,列表中每个值表示当前位序对应的yi作为阈值时预测正确的个数。将该列表倒序输出,保证出现相同的正确次数时输出较大的y。
  4. 具体如何判断?
# 构建存储predict正确数量的列表
count_Ture = []# 正序遍历计算所有元素位置前 0 的个数(预测正确)
count = 0
for i in range(m):count_Ture.append(count)if y_result[i][1] == 0:count += 1# 倒序遍历计算所有元素位置后 1 的个数(预测正确)
count = 0
for i in range(m-1,-1,-1):if y_result[i][1] == 1:count += 1count_Ture[i] += count
  1. 就是排序之后,第一个循环是将当前遍历到的安全指数设为阈值,因为阈值等于自身时,预测结果为1,所以需要先将预测正确结果保存下来再做判断使count+1。count之所以在result为0时自加1,是因为通过以安全指数(yi)排序之后,之后的安全指数都是大于之前的,所以之后的安全指数(作阈值时)在检测排序在其之前的且result为0的数据时一定检测成功,所以使count+1。倒序遍历则原理相同只是计算时,因为当前安全指数检测自身这组数据时一定相等,所以当result为1时先做count+1的操作再进行保存。(倒序遍历时是小于本次遍历到的安全指数作为阈值时,本次遍历的这组数据若result为1,则必检测过)
  2. 上完整代码!!!
# 输入安全指数数量
m = int(input())# 初始化 y,result 存储列表
y_result = []# 循环输入 y,result
for i in range(m):y_result.append(list(map(int,input().split())))# 先按照result排序再按照y排序 避免使用同一y的最大predict
y_result.sort(key=lambda x:x[1],reverse=True)
y_result.sort(key=lambda x:x[0])# 构建存储predict正确数量的列表
count_Ture = []# 正序遍历计算所有元素位置前 0 的个数(预测正确)
count = 0
for i in range(m):count_Ture.append(count)if y_result[i][1] == 0:count += 1# 倒序遍历计算所有元素位置后 1 的个数(预测正确)
count = 0
for i in range(m-1,-1,-1):if y_result[i][1] == 1:count += 1count_Ture[i] += count# 存储predict正确数量列表倒序操作(保证相同predict时输出y较大的) 并计算最大正确数量的下标索引
count_Ture.reverse()
index = m - 1 - count_Ture.index(max(count_Ture))# 输出最佳阈值
print(y_result[index][0])

总结

跑步跑步跑步!何惧风雨?跑完我发截图到评论区。
请添加图片描述
在这里插入图片描述

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



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

相关文章

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

SpringSecurity JWT基于令牌的无状态认证实现

《SpringSecurityJWT基于令牌的无状态认证实现》SpringSecurity中实现基于JWT的无状态认证是一种常见的做法,本文就来介绍一下SpringSecurityJWT基于令牌的无... 目录引言一、JWT基本原理与结构二、Spring Security JWT依赖配置三、JWT令牌生成与

SpringSecurity6.0 如何通过JWTtoken进行认证授权

《SpringSecurity6.0如何通过JWTtoken进行认证授权》:本文主要介绍SpringSecurity6.0通过JWTtoken进行认证授权的过程,本文给大家介绍的非常详细,感兴趣... 目录项目依赖认证UserDetailService生成JWT token权限控制小结之前写过一个文章,从S

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

一文详解kafka开启kerberos认证的完整步骤

《一文详解kafka开启kerberos认证的完整步骤》这篇文章主要为大家详细介绍了kafka开启kerberos认证的完整步骤,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、kerberos安装部署二、准备机器三、Kerberos Server 安装1、配置krb5.con

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

浅析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皇后问题所有不同的摆放情况个数。 输入