CCF202012-2期末预测之安全指数

2023-11-02 22:51

本文主要是介绍CCF202012-2期末预测之安全指数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目背景
考虑到安全指数是一个较大范围内的整数、小菜很可能搞不清楚自己是否真的安全,顿顿决定设置一个阈值 ,以便将安全指数 转化为一个具体的预测结果——“会挂科”或“不会挂科”。

因为安全指数越高表明小菜同学挂科的可能性越低,所以当 时,顿顿会预测小菜这学期很安全、不会挂科;反之若 ,顿顿就会劝诫小菜:“你期末要挂科了,勿谓言之不预也。”

那么这个阈值该如何设定呢?顿顿准备从过往中寻找答案。

题目描述
体来说,顿顿评估了 位同学上学期的安全指数,其中第 ()位同学的安全指数为
,是一个
范围内的整数;同时,该同学上学期的挂科情况记作
,其中 表示挂科、 表示未挂科。

相应地,顿顿用 表示根据阈值 将安全指数 转化为的具体预测结果。
如果

相同,则说明阈值为 时顿顿对第 位同学是否挂科预测正确;不同则说明预测错误。
在这里插入图片描述

在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
struct YR 
{int y;//输入的y int result;//输入的result 
};
YR A[int(1e5+5)];
bool cmp(YR a,YR b)
{return a.y<=b.y;
}
void Diplay(YR &a)
{cout<<a.y<<" "<<a.result<<endl;
}
/*
分析题目,数据分数在1e5,暴力法时间会超出。寻找相邻y之间的数量关系。
最直接的就是依据y对数据排序,寻找当前y的预测正确次数与前一项y的关系。
int maxThta=-1,maxcount=0;记录最大阈值maxThta以及预测正确次数maxcount
int R0=0,R1=0;//记录小于当前y(此时y作为阈值)时result==0的个数,大于等于y时result==1个数 
预测正确次数计算方法:=R0+R1 int tem0=0,tem1=0;//等于当前A[i].y数字时result==0个数和result==1个数 
则:
下一个y的预测正确次数=(R0+tem0) +(R1-tem1)依次规律依次计算出所有y作为阈值时的正确次数,并在计算过程中记录最大maxcount  
*/
int main()
{int n;cin>>n;int temy,temr;for(int i=0;i<n;++i){scanf("%d%d",&temy,&temr);A[i].y=temy;A[i].result=temr;}sort(A,A+n,cmp);//依据y排序 
//	for(int i=0;i<n;++i)
//	{
//		Diplay(A[i]);
//	}int maxThta=-1,maxcount=0;int R0=0,R1=0;//统计识别0的正确个数,1的正确个数 int tem0=0,tem1=0;//当前A[i].y数字的0个数和1个数 int k;for(int i=0;i<n;++i)//求第一个数的 R0,R1,tem1,tem0,并记录第一y的最后下标k {if(A[i].result==1){++R1;} if(A[i].y==A[0].y){if(A[i].result==1)tem1++;else tem0++;k=i;}}maxcount=R0+R1;//初始化 maxThta=A[0].y;//	cout<<A[0].y<<" "<<maxcount<<tem1<<" "<<tem0<<endl; for(int i=k+1;i<n;++i)//从第二个y开始计算 {R0=R0+tem0;R1=R1-tem1;//当前y作为阈值预测准确数 R0+R1 
//		cout<<A[i].y<<" "<<R0+R1;if(maxcount<=R0+R1)//记录最大的预测准确数以及maxThta {maxcount=R0+R1;if(A[i].y>maxThta)maxThta=A[i].y;}int j=i;tem0=tem1=0;for( ;i<n;++i)//统计当前y的result==0个tem0,以及result==1个数tem1 {if(A[j].y==A[i].y){if(A[i].result==1)++tem1;else ++tem0;}else break;}--i;
//		cout<<tem1<<" "<<tem0<<endl;}cout<<maxThta<<endl;return 0;
}

这篇关于CCF202012-2期末预测之安全指数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

JAVA保证HashMap线程安全的几种方式

《JAVA保证HashMap线程安全的几种方式》HashMap是线程不安全的,这意味着如果多个线程并发地访问和修改同一个HashMap实例,可能会导致数据不一致和其他线程安全问题,本文主要介绍了JAV... 目录1. 使用 Collections.synchronizedMap2. 使用 Concurren

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

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

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

企业安全之WiFi篇

很多的公司都没有安全团队,只有运维来负责整个公司的安全,从而安全问题也大打折扣。我最近一直在给各个公司做安全检测,就把自己的心得写下来,有什么不足之处还望补充。 0×01  无线安全 很多的公司都有不怎么注重公司的无线电安全,有钱的公司买设备,没钱的公司搞人力。但是人的技术在好,没有设备的辅助,人力在牛逼也没有个卵用。一个好的路由器、交换机、IDS就像你装备了 无尽、狂徒、杀人书一

Linux 安全弹出外接磁盘

命令行操作 首先,需要卸载硬盘上的所有分区,可以使用umount来卸载分区 清空系统缓存,将所有的数据写入磁盘 sync 列出已挂载的文件系统 使用lsblk或者df命令来查找要卸载的分区 lsblk or df -h 确保没有文件正在使用 使用lsof 命令来检查 sudo lsof |grep /dev/sdc 卸载分区 假设硬盘的分区是 /dev/sdc1,使用u