烦恼的高考志愿

这篇具有很好参考价值的文章主要介绍了烦恼的高考志愿。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

烦恼的高考志愿

题目背景

计算机竞赛小组的神牛 V 神终于结束了高考,然而作为班长的他还不能闲下来,班主任老 t 给了他一个艰巨的任务:帮同学找出最合理的大学填报方案。可是 v 神太忙了,身后还有一群小姑娘等着和他约会,于是他想到了同为计算机竞赛小组的你,请你帮他完成这个艰巨的任务。

题目描述

现有 m m m 所学校,每所学校预计分数线是 a i a_i ai。有 n n n 位学生,估分分别为 b i b_i bi

根据 n n n 位学生的估分情况,分别给每位学生推荐一所学校,要求学校的预计分数线和学生的估分相差最小(可高可低,毕竟是估分嘛),这个最小值为不满意度。求所有学生不满意度和的最小值。

输入格式

第一行读入两个整数 m , n m,n m,n m m m 表示学校数, n n n 表示学生数。

第二行共有 m m m 个数,表示 m m m 个学校的预计录取分数。第三行有 n n n 个数,表示 n n n 个学生的估分成绩。

输出格式

输出一行,为最小的不满度之和。

样例 #1

样例输入 #1

4 3
513 598 567 689
500 600 550

样例输出 #1

32

提示

数据范围:

对于 30 % 30\% 30% 的数据, 1 ≤ n , m ≤ 1000 1\leq n,m\leq1000 1n,m1000,估分和录取线 ≤ 10000 \leq10000 10000

对于 100 % 100\% 100% 的数据, 1 ≤ n , m ≤ 100000 1\leq n,m\leq100000 1n,m100000,估分和录取线 ≤ 1000000 \leq 1000000 1000000 且均为正整数。文章来源地址https://www.toymoban.com/news/detail-432925.html

lower_bound函数

#include<iostream>
#include<algorithm>

using namespace std;
int m,n;
const int MAXN=1e5+5;
int a[MAXN];
int main()
{
	cin>>m>>n;
	for(int i=1;i<=m;i++)
		cin>>a[i];
	sort(a+1,a+m+1);
	long long sum=0;
	for(int i=1;i<=n;i++)
	{
		int score;
		cin>>score;
		//lower_bound函数返回的是一个指针,而数组名a也是一个指针,所以相减能得到两指针之间的距离也就是score应该插入的位置(从小到大顺序)
		int t=lower_bound(a+1,a+m+1,score)-a;
		if(t==m+1)//等于m+1说明比数组a中所有的数都要大
			sum+=score-a[m];
		else if(t==1)//等于1说明比数组a中所有的数都要小
			sum+=a[1]-score;
		else//否则返回的t就是他应该插入的下标,当前数组的t位置也是第一个大于等于他的数
			sum+=min(score-a[t-1],a[t]-score);
	}	
	cout<<sum<<endl;
	return 0;
}

二分

#include<iostream>
#include<algorithm>
using namespace std;
int m,n;
const int MAXN=1e5+5;
int a[MAXN];
int main()
{
	cin>>m>>n;
	for(int i=1;i<=m;i++)
		cin>>a[i];
	sort(a+1,a+m+1);
	long long sum=0;
	for(int i=1;i<=n;i++)
	{
		int score;
		cin>>score;
		int l=1;
		int r=m;
		int mid;
		int ans;
		while(l<r-1)//二分出两个值
		{
			mid=(l+r)/2;
			if(score>=a[mid])
				l=mid;
			else
				r=mid;
		}
		if(abs(score-a[l])<abs(a[r]-score))//判断这两个哪个离score近
	    	ans=abs(score-a[l]);
		else
			ans=abs(a[r]-score);
		sum+=ans;
	}	
	cout<<sum<<endl;
	return 0;
}

到了这里,关于烦恼的高考志愿的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于机器学习的高考志愿高校及专业分析系统

    本项目在“基于 Python 的高考志愿高校及专业分析系统”基础上补充添加了机器学习算法对高考总问进行预测; 项目采用了网络爬虫技术,从指定的高考信息网站上抓取了各大高校的历年录取分数线数据。 通过精细的数据清洗过程,这些数据被存储于文件系统中,以便进行后

    2024年02月01日
    浏览(39)
  • 高考报志愿 选专业和选学校哪个更重要?

    各省市的高考分数陆续出炉,很多人都对专业选择犯难,有的甚至连自己喜欢哪所学校也变得纠结了起来。高考填报志愿的时候如何进行合理选择,让自己在选择专业和选择学校中得到一个满意的答案呢? 关于高考填表志愿选专业,可参考小猫测试网的:MBTI职业性格测试、

    2024年02月12日
    浏览(33)
  • 高考志愿填报选专业:大学读什么专业比较好?

    大学阶段是人生中非常重要的一个阶段,选择什么专业是至关重要的决定。在选择大学专业时,很多人都会没有头绪,其实说难也难,说不难也行,关于如何选择大学读什么专业?这里是小猫测试网给出的一些建议。 选择自己感兴趣的专业。 对学习充满热情是学习的驱动力

    2024年02月09日
    浏览(62)
  • 基于JAVA SpringBoot和Vue高考志愿填报辅助系统

            随着信息技术在管理中的应用日益深入和广泛,管理信息系统的实施技术也越来越成熟,管理信息系统是一门不断发展的新学科,任何一个机构要想生存和发展,要想有机、高效地组织内部活动,就必须根据自身的特点进行管理信息时,要建立体系。它是教育机构

    2024年02月14日
    浏览(40)
  • 如何在AI时代下,为高考志愿填报赢得未来竞争力?

    随着人工智能(AI)的不断发展,越来越多的职业受到AI影响。在这个大环境下,很多学生和家长都会考虑如何在高考志愿填报时做出最为明智的选择,以便在未来的职场竞争中抢得先机。今天,我将以高考志愿填报领域专家的身份,为大家详细分析如何应对AI带来的挑战,从

    2024年02月14日
    浏览(36)
  • 高考志愿填报服务指南|专业选择前的关键考虑点和后期调整策略|探索心仪专业与最终就业发展的契合度

    各省高考成绩已出,又到一年高考季。张雪峰提到:“普通家庭不要光谈理想,也要谈落地。”志愿怎样填报、选专业还是选学校、什么专业好就业、高考志愿主要看什么?针对这些疑问,你对正在选志愿的毕业生们有什么建议吗?你可以从下面几个方面来聊聊你想推荐/避雷

    2024年02月12日
    浏览(39)
  • 基于JAVA校园志愿者管理系统设计与实现(Springboot框架) 研究背景与意义、国内外研究现状

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月03日
    浏览(44)
  • AI志愿助手

    高考,是每个学子人生中的重要时刻,志愿填报更是关系到未来发展的关键。面对众多的院校和专业,如何做出最佳选择?选择困难的你,需要一位懂你的AI志愿填报小助手来协助你作出决策。在这篇文章中,我们将为您介绍一款强大的AI高考志愿助手——高考志愿大师(//

    2024年02月12日
    浏览(40)
  • [软件工具]解决朋友圈烦恼

    朋友圈转发截图生成工具 https://ourboy.cn/dz/ 朋友圈转发截图生成工具 https://akarin.dev/WechatMomentScreenshot/ 集赞(使用说明) 最好用的朋友圈集赞工具 https://blog.itakeo.com/blog/?p=915

    2024年02月06日
    浏览(40)
  • 2023志愿填报区块链专业

    随着区块链技术的迅速发展,区块链专业毕业生在就业市场上拥有广阔的前景。他们可以在多个领域找到就业机会,从而实现职业发展和稳定的薪资待遇。 首先,金融行业是区块链专业毕业生的主要就业领域之一。银行、证券公司和支付机构等金融机构对于具备区块链技术知

    2024年02月15日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包