CCF2020122-期末预测之最_佳阈值
这个题思路也比较简单,利用两次sort函数进行排序,定义两个不同的cmp函数;
但是在确定每个安全指数的预测正确次数(ceita[i].sum)时,使用两次for循环会直接超时,然后就把它改成代码中的一大段while代码,Debug了很长时间才通过:
主要是找到ceita[i].sum的规律,当ceita[i].y逐渐递减(无重复),如示例一,会有如下规律
1. ceita[1].sum可以直接遍历求出;
2. 若ceita[i].result == 1,则ceita[i].result = ceita[i-1].result + 1;
3. 若ceita[i].result == 0,则ceita[i].result = ceita[i-1].result - 1;
可恶的是,如果有重复的ceita[i].y,那么
- 接下来的几个安全指数的result都会影响当前的sum
while (ceita[i].y == ceita[j].y ) - 并且这些相同的安全指数共用同一个sum值;
while(i < j - 1)
写代码前先分好类就会好写很多。
#include<bits/stdc++.h>using namespace std;
struct Ceita{int y;int result;int sum;
};bool cmp1(Ceita a,Ceita b){return a.y > b.y;
}bool cmp2(Ceita a,Ceita b){if(a.sum == b.sum) return a.y >b.y ;else return a.sum > b.sum;
}int main(){int m;scanf("%d",&m);Ceita ceita[m];for(int i = 0; i < m; i++){scanf("%d %d",&ceita[i].y,&ceita[i].result);ceita[i].sum =0;}sort(ceita,ceita+m,cmp1);for (int j = 0;j < m; j++){if((ceita[j].y < ceita[0].y && ceita[j].result == 0 )||(ceita[j].y >= ceita[0].y && ceita[j].result == 1 )){ceita[0].sum ++;}}int i = 0;int j = 1;while(i < m && j < m){j = i + 1 ;while (ceita[i].y == ceita[j].y ){if(j == i + 1){if(ceita[i].result == 1){ceita[i].sum = ceita[i-1].sum + 1;}else{ceita[i].sum = ceita[i-1].sum - 1;}}if(ceita[j].result == 1){ceita[i].sum ++;}else{ceita[i].sum --;}j++;}while(i < j - 1){ceita[++i].sum = ceita[i-1].sum;} i++;if(ceita[i].result == 1){ceita[i].sum = ceita[i-1].sum + 1;}else{ceita[i].sum = ceita[i-1].sum - 1;}} sort(ceita,ceita+m,cmp2);printf("%d",ceita[0].y);return 0;
}
CCF2020122-期末预测之最_佳阈值相关推荐
- CCF202012-2 期末预测之最优阈值
数据也就200个,不算大. 于是先试一下暴力枚举,得了70分...... 显然题目数据没那么简单,应该有很大的优化部分,比如对阈值进行排序或是选用更优秀的数据结构和算法,都是可以的. 也可以排序后分别 ...
- CCF-2020-12-2 期末预测之最佳阈值(低俗题)-你留的眼泪,我来帮你拭去~~~
CCF-2020-12-2 写在前面 我们看看题目肿么说! 初心,第一想法 代码和运行结果如下 前缀和才是这个题目的真正考点 我们理解一下前缀和 代码和运行结果如下 哎,反正我今天是低俗了一把 这都是 ...
- CCF CSP202012-2期末预测之最佳阈值
CCF CSP202012-2期末预测之最佳阈值 题目背景 考虑到安全指数是一个较大范围内的整数.小菜很可能搞不清楚自己是否真的安全,顿顿决定设置一个阈值 θ,以便将安全指数 y 转化为一个具体的预测 ...
- CSP202012-2 期末预测之最佳阈值(100分)【序列处理】
试题编号: 202012-2 试题名称: 期末预测之最佳阈值 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 样例1输入 6 0 0 1 0 1 1 3 1 5 1 7 1 样例1输出 ...
- @3-2 CCF 2020-12-2 期末预测之最佳阈值
期末预测之最佳阈值 题目描述 输入与输出 样例 源代码 关于这题 题目描述 输入与输出 样例 源代码 #include<iostream> #include<algorithm> ...
- ccf-csp认证期末预测之最佳阈值(2020年12月13日)
期末预测之最佳阈值 题目描述 具体来说,顿顿评估了
- ccf-csp认证2020-12-2期末预测之最佳阈值: 一种简单解法
ccf-csp认证2020-12-2期末预测之最佳阈值: 一种简单解法 期末预测之最佳阈值 题目描述 输入输出格式 样例及解释 数据提示 解题思路 代码 期末预测之最佳阈值 自己的第一篇博客.已经大三 ...
- 第21次CCF计算机软件能力认证【期末预测之最佳阈值】【期末预测之安全指数】
期末预测之安全指数 题目描述 首先,顿顿选取了如"课堂表现"."自习时长"."作业得分"."社团活动参与度"等
- CSP:CSP认证考试:202012-1(期末预测之安全指数)满分答案,Java版
CSP:CSP认证考试:202012-1(期末预测之安全指数)满分答案,Java版 一.题目: 二.Java满分答案 import java.util.Scanner;public class Mai ...
最新文章
- 安全审计产品发展现状与趋势分析
- Grub及MBR修复
- 从零开始玩人工智能-人脸 API-03
- 8-13 刷题 复习 知识点集合
- Python中深拷贝与浅拷贝的区别?
- 渗透测试技巧之Redis漏洞利用总结
- CentOS7的/tmp目录自动清理规则(转)
- 计算机常见屏幕英语语句,计算机常见屏幕英语
- 微信知识付费小程序博客源码(带299条数据)
- function与感叹号
- attachEvent和addEventListener详解
- Arcpy实现dem数据主河网自动提取
- 三维空间内点到直线的距离计算公式
- AVR单片机(ATmega128)单片机运算乘除法大约所需时间
- 三维校园(三维虚拟校园)的使用体验
- Autosar配置CAN时间同步模块笔记
- CVPR2019目标检测论文汇总
- 手机通过IPV6访问电脑共享文件
- eclipse快捷键使用以及一些小机灵
- 《平衡掌控者 游戏数值战斗设计》学习笔记(二)人物基础属性设计
热门文章
- Delphi系统变量:IsMultiThread对MM的影响
- 关于添加msvcr120d.dll后0xc000007b的错误解决办法
- Kaggle数据集强势分析“绝地求生”,攻略吃鸡!(给我的智障朋友们找的吃鸡攻略)
- oppo锁频段_oppo手机这些隐藏功能,你可能不知道!
- 华为云推出业界首个基于ARM框架的云手机解决方案
- JavaScript:数组对象去重的几种方法
- 在开发中沉侵式效果遇到类似华为手机虚拟按键一系列问题的解决
- 计算机图形学 | 探秘造型技术
- 找不到“本地策略”,没有“本地策略”的解决办法
- unity的垂直同步VSync