期末预测之安全指数 202012-1 【CSP】

该文介绍了如何根据各项指标及其权重计算小菜同学的期末安全指数,以预测是否可能挂科。顿顿通过课堂表现、自习时长、作业得分等指标,结合每个指标的重要程度(-10到10的整数)进行评估,利用ReLU函数确保安全指数非负。程序示例展示了如何根据输入数据计算得出安全指数,对于负值情况会返回0。

题目背景

期末要到了,小菜同学找到了自己的好朋友顿顿,希望可以预测一下自己这学期是否会挂科。

题目描述

首先,顿顿选取了如“课堂表现”、“自习时长”、“作业得分”、“社团活动参与度”等 n 项指标作为预测的依据。
然后,顿顿根据自己平日里对小菜的暗中观察,以百分制给每一项指标打分,即小菜同学第 i(1≤i≤n)项指标的得分 scorei 是一个 [0,100] 范围内的整数。
鉴于每一项指标的重要性不尽相同,顿顿用一个 [−10,10] 范围内的整数 wi 来表示第 i(1≤i≤n)项指标的重要程度。

最后,小菜同学期末的安全指数 y 定义如下:

 

其中 ReLU(x)=max(0,x) 是一种常见的激活函数。
因为使用了 ReLU 函数,安全指数一定是个非负值。
如果安全指数过低(甚至为零),则说明小菜同学这学期很可能要挂科了……

已知每一项指标的重要程度 wi 和相应的得分 scorei,快来算算小菜同学期末的安全指数吧。

输入格式

从标准输入读入数据。

输入的第一行包含一个正整数 n,保证 2≤n≤10^5。

接下来输入 n 行,其中第 i(1≤i≤n)行包含用空格分隔的两个整数 wi 和 scorei,分别表示第 i 项指标的重要程度和小菜同学该项的得分。

输出格式

输出到标准输出。

输出一个非负整数 y,表示小菜同学期末的安全指数。

样例1输入

6
2 60
10 100
0 70
0 0
-10 50
10 60

Data

样例1输出

1220

Data

样例1解释

y=ReLU(1220)=1220

样例2输入

2
-10 100
-1 15

Data

样例2输出

0

Data

样例2解释

y=ReLU(−1015)=0

# include<iostream>
using namespace std;
int sum=0;
int main() {
	int n,w,score;
	cin >> n;
	for(int i=1;i<=n;i++){
		cin >>w >> score;
		sum+=w*score;	
	}
	int x = 0>=sum ? 0:sum;	
	cout << x;
	return 0;
}

为了提高在 CCF CSP(中国计算机学会计算机软件能力认证)考试中的表现,选择合适的题单和练习资源是关键。以下是根据已有信息整理的推荐题单和资源: ### 推荐刷题路线 1. **流处理类题目**:这类题目通常较为简单,适合入门练习,例如: - 201604-1 折点计数 - 201609-1 最大波动 - 201809-1 卖菜 - 201903-1 小中大 - 202203-1 未初始化警告 - 201703-1 分蛋糕 - 201803-1 跳一跳 - 201909-1 小明种苹果 - 201909-2 小明种苹果(续) - 201912-1 报数 - 202012-1 期末预测安全指数 - 202109-1 数组推导 - 202206-1 归一化处理 - 202112-1 序列查询 - 202112-2 序列查询新解 - 202209-1 如此编码 [^4] 2. **排序类题目**:排序是基础但重要的部分,可以尝试: - 201712-1 最小差值 - 201409-1 相邻数对 - 201612-1 中间数 [^4] 3. **模拟类题目**:这类题目通常需要较强的逻辑思维能力,例如: - 201812-1 小明上学 - 201812-2 小明放学 - 202006-1 线性分类器 - 201509-2 日期计算 - 201503-3 节日 [^4] ### 练习资源推荐 1. **历年真题题解**:有一份从201312到202312的所有前4题的满分题解集合,其中包含详细注释和思路解析,总共有132题,代码行数达到8000行,非常适合深入学习和理解。GitHub链接:https://github.com/jokerD888/ccf-csp [^1] 2. **在线模拟考试**:建议访问 CCF CSP 官方网站,通过“报名入口”进入模拟考试页面进行练习。这种方式可以让你熟悉正式考试的环境和流程 [^2] 3. **个人刷题记录**:有一个个人的刷题记录,涵盖了从2024年3月到2023年3月的题目,包括水题、STL、高斯消元、双向链表、质数筛、合数分解、前缀数组、字符串、几何等类型,所有题目均获得100分 [^3] ### 示例代码 以下是一个简单的 CCF CSP 题目解决方案示例,用于解决“折点计数”问题: ```python def count_turning_points(n, temperatures): if n < 3: return 0 count = 0 for i in range(1, n - 1): if (temperatures[i] > temperatures[i - 1] and temperatures[i] > temperatures[i + 1]) or \ (temperatures[i] < temperatures[i - 1] and temperatures[i] < temperatures[i + 1]): count += 1 return count # 示例输入 n = 5 temperatures = [1, 3, 2, 4, 1] print(count_turning_points(n, temperatures)) # 输出应该是2 ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

创业者-杨成淦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值