博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSL-ZYC 活动安排
阅读量:4354 次
发布时间:2019-06-07

本文共 1222 字,大约阅读时间需要 4 分钟。

题目大意:

我们要在足够多的会场里举行各种活动,一个会场在同一时刻只能安排一个活动,希望使用尽可能少的会场总数。假设一个活动结束后,立即可以在这个会场中进行下一个活动。求一段时间中需要的最少会场数。


思路:

纯暴力的题目!
我们可以以开始时间来快排,再从1到n枚举每个活动的时间,求出最少所需的会场数。
时间复杂度:O(n^2)


代码:

#include 
#include
#include
using namespace std;int a[1001],b[1001],c[1001],sum,n,num;void sorts(int l,int r){ int i,j,z; i=l; j=r; z=a[(i+j)/2]; do { while (a[i]
z) j--; if (i<=j) { swap(a[i],a[j]); swap(b[i],b[j]); i++; j--; } } while (i<=j); if (i
l) sorts(l,j);}int main(){ freopen("meet.in","r",stdin); freopen("meet.out","w",stdout); scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]); sorts(1,n); //手打快排 sum=1; c[1]=b[1]; //初始化 for (int i=2;i<=n;i++) //枚举 { num=0; for (int j=1;j<=sum;j++) if (c[j]<=a[i]&&c[j]>c[num]) num=j; if (num==0) //使用已有会场 { sum++; c[sum]=b[i]; } else //新开一个会场 { c[num]=b[i]; } } printf("%d\n",sum); return 0;}

转载于:https://www.cnblogs.com/hello-tomorrow/p/9313115.html

你可能感兴趣的文章
WEB DYNPRO SAP HELP
查看>>
MYSQL 查询指定日期后的15天
查看>>
js实现农历时间代码
查看>>
ACM比赛(进制转换)
查看>>
Hadoop详细配置教程
查看>>
基于Web的数据推送技术(转)
查看>>
Memcached深度分析(转)
查看>>
svn向服务器添加新建文件夹
查看>>
大神解答:如何实现域账号免登陆流程平台的功能
查看>>
HTTP与HTTPS
查看>>
Java操作FTP
查看>>
application下的JDBC操作
查看>>
iphone UI 开发教程
查看>>
解决ASP因为编码问题出现乱码现象:ASP中强制编码方式
查看>>
微信小程序 - 获取所在位置(省、市、区)
查看>>
PHP高级教程-Data
查看>>
POJ-1988-Cube_Stacking-并查集
查看>>
Qapp使用总结
查看>>
Delphi操作XML:函数详解(一)
查看>>
网盘搜索网站汇总
查看>>