1083 List Grades (25 point(s))

本文介绍了一个简单的排序问题,要求根据学生的成绩将记录进行非递增排序,并筛选出成绩在特定区间内的学生记录。通过使用C++中的结构体和sort函数,可以轻松实现这一功能。

1083 List Grades (25 point(s))

Given a list of N student records with name, ID and grade. You are supposed to sort the records with respect to the grade in non-increasing order, and output those student records of which the grades are in a given interval.

Input Specification:

Each input file contains one test case. Each case is given in the following format:

N
name[1] ID[1] grade[1]
name[2] ID[2] grade[2]
... ...
name[N] ID[N] grade[N]
grade1 grade2

where name[i] and ID[i] are strings of no more than 10 characters with no space, grade[i] is an integer in [0, 100], grade1 and grade2 are the boundaries of the grade's interval. It is guaranteed that all the grades are distinct.

Output Specification:

For each test case you should output the student records of which the grades are in the given interval [grade1grade2] and are in non-increasing order. Each student record occupies a line with the student's name and ID, separated by one space. If there is no student's grade in that interval, output NONE instead.

Sample Input 1:

4
Tom CS000001 59
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95
60 100

Sample Output 1:

Mike CS991301
Mary EE990830
Joe Math990112

Sample Input 2:

2
Jean AA980920 60
Ann CS01 80
90 95

Sample Output 2:

NONE

简单排序题。对于没给范围的题,申请一个动态结构体数组来完成。

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct record {
	string name;
	string id;
	int grade;
	bool operator < (const record &other) const{
		return grade>other.grade;
	}
};

int main(void){
	int n,g1,g2;cin>>n;
	record *R=new record[n];
	for(int i=0;i<n;i++) cin>>R[i].name>>R[i].id>>R[i].grade; 
	sort(R,R+n);
	cin>>g1>>g2;
	bool flag = false;
	for(int i=0;i<n;i++){
		if(R[i].grade>=g1&&R[i].grade<=g2){
			flag = true; 
			cout<<R[i].name<<" "<<R[i].id<<endl; 
		}
	}
	if(!flag) cout<<"NONE"<<endl;
	return 0;
}

 

【CNN-GRU-Attention】基于卷积神经网络和门控循环单元网络结合注意力机制的多变量回归预测研究(Matlab代码实现)内容概要:本文介绍了基于卷积神经网络(CNN)、门控循环单元网络(GRU)与注意力机制(Attention)相结合的多变量回归预测模型研究,重点利用Matlab实现该深度学习模型的构建与仿真。该模型通过CNN提取输入数据的局部特征,利用GRU捕捉时间序列的长期依赖关系,并引入注意力机制增强关键时间步的权重,从而提升多变量时间序列回归预测的精度与鲁棒性。文中涵盖了模型架构设计、训练流程、参数调优及实际案例验证,适用于复杂非线性系统的预测任务。; 适合人群:具备一定机器学习与深度学习基础,熟悉Matlab编程环境,从事科研或工程应用的研究生、科研人员及算法工程师,尤其适合关注时间序列预测、能源预测、智能优化等方向的技术人员。; 使用场景及目标:①应用于风电功率预测、负荷预测、交通流量预测等多变量时间序列回归任务;②帮助读者掌握CNN-GRU-Attention混合模型的设计思路与Matlab实现方法;③为学术研究、毕业论文或项目开发提供可复现的代码参考和技术支持。; 阅读建议:建议读者结合Matlab代码逐模块理解模型实现细节,重点关注数据预处理、网络结构搭建与注意力机制的嵌入方式,并通过调整超参数和更换数据集进行实验验证,以深化对模型性能影响因素的理解。
下载前必看:https://pan.quark.cn/s/da7147b0e738 《商品采购管理系统详解》商品采购管理系统是一款依托数据库技术,为中小企业量身定制的高效且易于操作的应用软件。 该系统借助VC++编程语言完成开发,致力于改进采购流程,增强企业管理效能,尤其适合初学者开展学习与实践活动。 在此之后,我们将详细剖析该系统的各项核心功能及其实现机制。 1. **VC++ 开发环境**: VC++是微软公司推出的集成开发平台,支持C++编程,具备卓越的Windows应用程序开发性能。 在该系统中,VC++作为核心编程语言,负责实现用户界面、业务逻辑以及数据处理等关键功能。 2. **数据库基础**: 商品采购管理系统的核心在于数据库管理,常用的如SQL Server或MySQL等数据库系统。 数据库用于保存商品信息、供应商资料、采购订单等核心数据。 借助SQL(结构化查询语言)进行数据的增加、删除、修改和查询操作,确保信息的精确性和即时性。 3. **商品管理**: 系统内含商品信息管理模块,涵盖商品名称、规格、价格、库存等关键字段。 借助界面,用户能够便捷地录入、调整和查询商品信息,实现库存的动态调控。 4. **供应商管理**: 供应商信息在采购环节中占据重要地位,系统提供供应商注册、联系方式记录、信用评价等功能,助力企业构建稳固的供应链体系。 5. **采购订单管理**: 采购订单是采购流程的关键环节,系统支持订单的生成、审批、执行和追踪。 通过自动化处理,减少人为失误,提升工作效率。 6. **报表与分析**: 系统具备数据分析能力,能够生成采购报表、库存报表等,帮助企业掌握采购成本、库存周转率等关键数据,为决策提供支持。 7. **用户界面设计**: 依托VC++的MF...
#综合成绩df_grades、任务点完成详情df_point、章节测验统计df_quizzes、考试统计 df_grades=pd.read_excel(r'E:\20241171-专业1_统计一键导出.xlsx',sheet_name='综合成绩',skiprows=2) 学生姓名 学号/工号 院系 专业 班级 章节任务点(5%) 章节测验(10%) 作业(40%) 考试(30%) 签到(5%) 课程积分(10%) 综合成绩 0 学生1 2024117101 学院1 专业1 20241171 3.07 4.96 28.8 19.5 4.33 5 65.66 1 学生2 2024117102 学院1 专业1 20241171 4.77 9.18 36.0 16.5 4.67 10 81.12 2 学生3 2024117103 学院1 专业1 20241171 5.00 8.35 36.0 20.7 4.67 10 84.72 3 学生4 2024117104 学院1 专业1 20241171 4.89 8.82 36.0 16.2 4.6 df_point['学号/工号'] = df_point['学号/工号'].astype(int) # 将"已完成"替换为1,"未完成"替换为0 df_point = df_point.replace({'已完成':1, '未完成': 0}) merged_df = pd.merge(df_grades, df_point, on='学号/工号', how='left')merged_df = merged_df.drop(columns=['学生姓名', '院系', '专业', '班级'])#计算任务完成率 task_columns = [col for col in merged_df.columns if col.endswith('.mp4') or col.endswith('.pptx')] merged_df['任务完成率'] = merged_df[task_columns].mean(axis=1) grade_features = ['章节任务点(5%)', '章节测验(10%)', '作业(40%)', '考试(30%)', '签到(5%)', '课程积分(10%)'] X = merged_df[grade_features] Y = merged_df[['任务完成率']]#特征标准化 grade_scaler = StandardScaler().fit(X) X_scaled = grade_scaler.fit_transform(X) task_scaler = StandardScaler().fit(Y) Y_scaled = task_scaler.transform(Y)# PCA降维 pca = PCA(n_components=1) # 降至1维 X_pca = pca.fit_transform(X_scaled) X_pca = -X_pca # 组合特征(X轴=成绩PCA,Y轴=任务完成度) combined_features = np.hstack((X_pca, Y_scaled)) # KMeans聚类 kmeans = KMeans(n_clusters=3, random_state=42,n_init=10) clusters = kmeans.fit_predict(combined_features) # 分离成绩和任务部分 grade_centers = kmeans.cluster_centers_[:, :1] # 成绩PCA部分 task_centers = kmeans.cluster_centers_[:, 1:] # 任务部分 # 逆变换成绩部分 grade_centers_restored = pca.inverse_transform(grade_centers) # 还原到6维标准化空间 grade_centers_original = grade_scaler.inverse_transform(grade_centers_restored) # 还原到原始成绩 # 逆变换任务部分 task_centers_original = task_scaler.inverse_transform(task_centers) # 合并结果 cluster_centers_original = np.hstack((grade_centers_original, task_centers_original)) # 创建DataFrame feature_names = X.columns.tolist() + ['任务完成率'] cluster_center_df = pd.DataFrame(cluster_centers_original, columns=feature_names) print("各聚类中心实际特征值:") display(cluster_center_df) 章节任务点(5%) 章节测验(10%) 作业(40%) 考试(30%) 签到(5%) 课程积分(10%) 任务完成率 0 3.763759 6.265802 31.862586 16.766125 4.359226 9.327531 0.983806 1 7.465528 12.938833 47.649160 27.198091 5.972354 11.442964 0.163158 2 4.783249 8.103595 36.210304 19.639151 4.803491 9.910134 0.788278 x_data = X_pca.flatten() # 将二维数组转为一维 y_data = merged_df['任务完成率'].values center_x = kmeans.cluster_centers_[:, 0] # 聚类中心在PCA空间的X值 center_y =kmeans.cluster_centers_[:, 1] #center_y = cluster_center_df['任务完成率'].values# 查看第一主成分的权重向量 weights = pca.components_[0] for i, feature in enumerate(grade_features): print(f"{feature}: {weights[i]:.4f}")章节任务点(5%): -0.4678 章节测验(10%): -0.4299 作业(40%): -0.4434 考试(30%): -0.3644 签到(5%): -0.4462 课程积分(10%): -0.2607# 创建画布 plt.figure(figsize=(10, 6)) # 绘制各聚类散点 plt.scatter(x_data[clusters == 0], y_data[clusters == 0], c='purple', alpha=0.7, s=80, label="稳定优秀型") plt.scatter(x_data[clusters == 2], y_data[clusters == 2], c='green', alpha=0.7, s=80, label="潜力提升型") plt.scatter(x_data[clusters ==1], y_data[clusters == 1], c='orange', alpha=0.7, s=80, label="待提升型") plt.xlabel("综合成绩(降维后)", fontsize=12) plt.ylabel("任务完成率", fontsize=12) plt.legend(title="学生类型", loc='upper left', frameon=True, edgecolor='black')老师让我你接下来试一下用sklearn里面的tsne来把聚类的数据投影到二维和三维,我要怎么做,因为我·没有接触过这个,你要说详细一点,解释一下。这里需要在聚类的基础上接着做tsne吗
07-23
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值