hdu2850Load Balancing 贪心+优先队列
来源:互联网 发布:java高并发的解决方案 编辑:程序博客网 时间:2024/06/03 11:02
优先队列,把任务耗时大的先放。
#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>#include <queue>#include <cmath>#include <vector>using namespace std;#define maxn 110000struct node{ int num,val,belong;}save[maxn];int n,m;bool cmp(node aa,node bb){ return aa.val>bb.val;}bool cmp2(node aa,node bb){ return aa.num<bb.num;}struct cpu{ int num; long long sum; friend bool operator <(cpu aa,cpu bb) { return aa.sum>bb.sum; }}b[200];int main(){ int cases; scanf("%d",&cases); while(cases--) { scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) { scanf("%d",&save[i].val); save[i].num=i; } sort(save+1,save+1+n,cmp); priority_queue<cpu>q; for(int i=1;i<=m;i++) { b[i].sum=0; b[i].num=i; q.push(b[i]); } cpu cur; for(int i=1;i<=n;i++) { cur=q.top(); q.pop(); save[i].belong=cur.num; cur.sum+=save[i].val; q.push(cur); } sort(save+1,save+1+n,cmp2); printf("%d\n",n); printf("%d",save[1].belong-1); for(int i=2;i<=n;i++) { printf(" %d",save[i].belong-1); } printf("\n"); } return 0;}
0 0
- hdu2850Load Balancing 贪心+优先队列
- Hdu 2850 Load Balancing (贪心 优先队列)
- hdu 2850 Load Balancing (优先队列 + 贪心)
- HDU 2850 Load Balancing(优先队列)
- poj3614-贪心、优先队列
- EOJ1855 贪心+优先队列
- uvalive4254(贪心+优先队列)
- HOJ1062 贪心+优先队列
- poj3465 贪心+优先队列
- 贪心+优先队列
- 贪心+优先队列
- POJ2010 贪心优先队列
- 贪心+优先队列
- POJ3614Sunscreen(优先队列+贪心)
- 优先队列贪心
- HDU6047优先队列+贪心
- POJ2431 优先队列+贪心
- 贪心加优先队列
- 【实践驱动开发3-004】TI WL1835MODCOM8 在android的移植 - 系统结构初始化和参考列表
- hdu2063过山车
- getline()函数详解 (2013-03-26 17:19:58)
- TOJ 1144. Tree Recovery
- YII CListView 分页 另一种写法
- hdu2850Load Balancing 贪心+优先队列
- usaco3.2.4纺车的轮子
- javaWeb中URLEncoder.encode空格问题
- Mysql导入Sql文件时报Error Code: 2013 - Lost connection to MySQL server during query
- 部署在服务器iis上的web项目所有js无法执行的问题
- HDU 1242 rescue and 优先队列入门
- 轻松解读音视频编码
- 注册时验证用户名(可以是普通用户名、手机号和邮箱)的合法规则(easyui)
- 仿函数进阶——组合型仿函数和自定可以使用函数配接器的仿函数