服务员-dp
来源:互联网 发布:和明星合影软件 编辑:程序博客网 时间:2024/04/28 18:47
题意:服务员要服务每个顾客,顾客在订蛋糕后,要求服务员把蛋糕分成一份。对于蛋糕总体积(n),每次分成开成两个部分,要花费n*(n-1),而后面又有顾客来订蛋糕,时间可能发生了冲突,为了服务更多的顾客,可以放弃花费时间多的顾客,以确保服务顾客数量最多。
第一组k,表示顾客的总人数。接下来是k组数据,每组两个,第一个是顾客到的时间,第二个是订的蛋糕体积。
输出最多服务顾客的总数。
分析:首先,要算出每个顾客花费的时间。然后,对其排序(从小到大)。过仔细分析,每次分成1和n-1,总时间将会最小。故有1*(n-1)+I*(n-2)+......1*1,所以t=n(n-1)/2;
然后,对每个服务时间终点进行排序就行了。
#include<cstdio>#include<algorithm>#include<iostream>using namespace std;struct node{ int s,t,k; }f[100];bool cmp(node a,node b){ return a.k<b.k;}int main(){ int n,i,end=0; while(scanf("%d",&n)!=-1) { for(i=0;i<n;i++) { scanf("%d%d",&f[i].s,&f[i].t); f[i].k=f[i].t*((f[i].t)-1)/2+f[i].s; } sort(f,f+n,cmp); int m=0; for(i=0;i<n;i++) { if(end<=f[i].s) { if(f[i].s==f[i-1].s&&f[i].k==f[i-1].k) continue; end=f[i].k; m++; } } printf("%d\n",m); } return 0;}
- 服务员-dp
- 理想服务员
- 做餐饮服务员
- 餐厅当服务员洗男厕
- 销售部年终总结酒店服务员年终总结
- 销售部年终总结酒店服务员年终总结
- 从宾馆服务员到微软技术专家
- 从宾馆服务员到微软技术专家
- 从宾馆服务员到微软技术专家
- 从宾馆服务员到微软技术专家
- 从宾馆服务员到微软技术专家
- 从宾馆服务员到微软技术专家
- 从宾馆服务员到微软技术专家
- 从宾馆服务员到微软技术专家
- 服务员在电脑屏幕上做什么?
- 服务员就结账了的p8u8
- 从超市服务员到程序员的路上
- 爆笑!餐厅服务员的經典服务
- 黑马程序员—Java 反射
- 动态规划——最大值
- andoid的智能指针
- Java 查找方法(普通查找,二分查找)
- 我们该如何设计数据库(三)
- 服务员-dp
- 如何避免扩展同名函数或宏
- C# using的用法
- 单源最短路径、最小生成树及堆的Java实现
- HDU 2137 circumgyrate the string
- 开心!健康!生活!
- Q&A for cert
- linux下查看和添加PATH环境变量
- programing ruby学习笔记