ccf-csp认证2020-12-2期末预测之最佳阈值: 一种简单解法

  • 期末预测之最佳阈值
    • 题目描述
    • 输入输出格式
    • 样例及解释
    • 数据提示
    • 解题思路
    • 代码

期末预测之最佳阈值

自己的第一篇博客。已经大三下期了,之前没有好好学习,现在要准备四月份csp,打算把之前的题目都自己做做。由于课不多,时间比较充裕,可以写好详细注释放上来和大家一起讨论。

题目描述

输入输出格式

样例及解释

数据提示

70% 的测试数据保证 m≤200;
全部的测试数据保证 2≤m≤105。

解题思路

看到测试数据有部分为1e5,两层循环肯定会超时,我一开始也是70分。看了一些别人的代码,一般是把复杂度降为了(nlogn),但有些比较难懂(我太菜了)。观察到可以先对输入的安全指数进行排序,然后对每一个指数,记录比自己小的0的个数,比自己大(或相等)的1的个数,相加作为其对应的预测成功数。这里我们不一个一个遍历,而是在上一个安全指数对应的预测成功数上进行一些小改动,只需要把上一个指数对应的结果反转(比如上一次结果为1算是预测成功,但现在算为失败),然后比较更新最大的预测成功数,取其对应的安全指数作为最佳阈值。

代码

#include<bits/stdc++.h>
using namespace std;struct aa{    //随便取的名字 int y;    //安全指数 int re;   //挂科情况(0或1)
};bool cmp(aa a, aa b){    //按照安全指数从小到大排序 if(a.y!=b.y)return a.y<b.y;
}int main(){int num;cin>>num;    //输入数据组数 aa myaa[num];for(int i=0; i<num; i++){cin>>myaa[i].y>>myaa[i].re;  //输入每个的安全指数和挂科情况 }sort(myaa, myaa+num, cmp);  //按照安全指数从小到大排序  int maxnum = 0;  //当前最大的预测正确次数int sig = 0;  //所求的阈值sigma int nownum = 0;  //当前遍历到的安全指数对应的预测正确次数 for(int i=0; i<num; i++){  //先求出排序后第一个(最小的)安全指数对应的预测正确次数 if(myaa[i].re==1){nownum++;}}maxnum = nownum;for(int i=0; i<num;){   //后面每一个安全指数对应的预测正确次数其实只需要在上一个的基础上进行小小的修改 while(myaa[i].y==myaa[i+1].y){  //如果有连续的安全指数相同 if(myaa[i].re==1)   //如果是1,那么之前是算做预测正确,现在预测错误了,预测正确次数要减一,下同 nownum--;elsenownum++;i++;}if(myaa[i].re==1) //跳出循环后还要再进行一次判断 nownum--;elsenownum++;i++;if(nownum>=maxnum){   //进行比较更新当前最大的预测正确次数,所求阈值就是其对应的安全指数,//由于我们已经排序了,如果有相同的预测正确次数,输出的就是其中最大的安全指数 maxnum = nownum;sig = myaa[i].y;}}cout<<sig;return 0;
}

ccf-csp认证2020-12-2期末预测之最佳阈值: 一种简单解法相关推荐

  1. ccf-csp认证期末预测之最佳阈值(2020年12月13日)

    期末预测之最佳阈值 题目描述 具体来说,顿顿评估了

  2. CCF CSP202012-2期末预测之最佳阈值

    CCF CSP202012-2期末预测之最佳阈值 题目背景 考虑到安全指数是一个较大范围内的整数.小菜很可能搞不清楚自己是否真的安全,顿顿决定设置一个阈值 θ,以便将安全指数 y 转化为一个具体的预测 ...

  3. @3-2 CCF 2020-12-2 期末预测之最佳阈值

    期末预测之最佳阈值 题目描述 输入与输出 样例 源代码 关于这题 题目描述 输入与输出 样例 源代码 #include<iostream> #include<algorithm> ...

  4. CSP202012-2 期末预测之最佳阈值(100分)【序列处理】

    试题编号: 202012-2 试题名称: 期末预测之最佳阈值 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 样例1输入 6 0 0 1 0 1 1 3 1 5 1 7 1 样例1输出 ...

  5. 第21次CCF计算机软件能力认证【期末预测之最佳阈值】【期末预测之安全指数】

    期末预测之安全指数 题目描述 首先,顿顿选取了如"课堂表现"."自习时长"."作业得分"."社团活动参与度"等

  6. CCF-CSP 202012-2 期末预测之最佳阈值 (Python)

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

  7. CSP认证202012-2 期末预测之最佳阈值[C++题解]:遍历、前缀和

    文章目录 题目解答 暴力做法70分 前缀和优化100分 题目链接 题目解答 暴力做法70分 70分代码 思路:排序,依次枚举阈值,然后遍历:对于每个值,大于等于该阈值的话,查看结果是否为1:小于该阈值 ...

  8. CCF-2020-12-2 期末预测之最佳阈值(低俗题)-你留的眼泪,我来帮你拭去~~~

    CCF-2020-12-2 写在前面 我们看看题目肿么说! 初心,第一想法 代码和运行结果如下 前缀和才是这个题目的真正考点 我们理解一下前缀和 代码和运行结果如下 哎,反正我今天是低俗了一把 这都是 ...

  9. (C++)202012-2 期末预测之最佳阈值 满分

    #include<cstdio> #include<algorithm> using namespace std;const int M = 100000;struct Stu ...

最新文章

  1. SMS2003 SP3+SQL Server2000 SP4部署(下)
  2. 【产品干货】一个App的从无到有
  3. 交换机的工作转发原理
  4. tcp欢动窗口机制_TCP协议中的窗口机制------滑动窗口详解
  5. 【VMC实验室】在QCloud上创建您的SQL Cluster(5)
  6. java 类复制构造方法_java面向对象入门(3)-java构造方法
  7. CF gym101933 K King's Colors——二项式反演
  8. 轻松掌握namedtuple
  9. java计算机毕业设计服装连锁店后台管理系统MyBatis+系统+LW文档+源码+调试部署
  10. windows安装hbase1.4.9
  11. NET Framework 精简版可以获得的常用功能
  12. hdu2122 poj2485 最小生成树
  13. 诊断实验评估指标-灵敏度(sensitivity)特异度(specificity)准确度(accuracy)
  14. 从小白到专家:JavaScript 延展操作符的几个基本用法
  15. 合取式/合取范式/主合取范式/重言式/矛盾式 基本概念
  16. iOS 最新 APP提交上架流程~(打包 ipa)
  17. SIGGRAPH 2022最佳技术论文奖重磅出炉!北大陈宝权团队获荣誉提名
  18. 360校招笔试题总结3
  19. 人工智能概念站上风口
  20. 「UOJ224」「NOI2016」旷野大计算

热门文章

  1. NAT基础:NAT技术原理,静态NAT、动态NAT、NAPT、Easy IP、NAT Server的原理,以及各NAT的配置方法和转换示例。
  2. Winform控件获得/失去焦点事件
  3. 转:领导者实现事半功倍的抓手,是充分帮助下属成长
  4. 算法与数据结构【30天】集训营——线性表之易混淆知识点双链表的结点前插和后插(05)
  5. AntSword 中国蚁剑的下载安装配置(附下载文件)
  6. 西安工业大学计算机学院科协,点赞!陕西科协公布一项重要名单,西安工业大学3名青年教师入选...
  7. 定义一个数组,然后从键盘输入10个整数,编程求出其最大值、最小值以及平均值(C语言)
  8. 从延禧攻略看,把自己打造成一个成功的产品你需要思考这些
  9. Bi-SimCut: A Simple Strategy for Boosting Neural Machine Translation 论文笔记
  10. lammps剪切模拟关键技术讲解