烦恼的高考志愿
[题目链接]https://www.luogu.com.cn/problem/P1678?contestId=147354
题意
现有m 所学校,每所学校预计分数线是ai,有 n 位学生的估分情况是bi,分别给每位学生推荐一所学校,要求学校的预计分数线和学生的估分相差最小(可高可低,毕竟是估分嘛),这个最小值为不满意度。求所有学生不满意度和的最小值。
思路
如果直接各自扫一遍,ON^2 显然超时。其实是很明显的二分题。关键便是在动态二分的过程中确定最小值即可。
算法一:二分查找,sort排序
实现步骤
- 对于每个b[i],在排好序的a[N]中查找最接近的即可。
- 查找的过程中更新min。
代码
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int m,n;//m为学校数,n为学生数
cin>>m>>n;
int a[m],b[n];
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
cin>>a[m]>>b[n];
}
}
for(int i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
}
}
for(int i=0;i<n;i++)
{
printf("%d",)
}
return 0;
}
总结
x