题目大意:

怎么分配n个任务到m个server上使得负载尽量平衡。

思路:

将任务从大到小排序,依次放入负载最小的那个server中。

由于是spj 的缘故,所以能够使用这个贪心。

比方数据

6 2

7 5 3 3 3 3

就会得到错误答案。

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std; struct node
{
int index,load;
bool operator < (const node &cmp)const
{
return load>cmp.load;
}
};
struct foo
{
int index,v;
bool operator < (const foo &cmp)const
{
return v<cmp.v;
}
}save[100005];
priority_queue <node> Q;
int n,m;
int ans[100005];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
memset(ans,0,sizeof ans);
while(!Q.empty())Q.pop(); scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
save[i].index=i;
scanf("%d",&save[i].v);
} sort(save+1,save+1+n); for(int i=0;i<m;i++)
{
node t;
t.index=i;
t.load=0;
Q.push(t);
} for(int i=n;i>=1;i--)
{
node t=Q.top();
Q.pop(); t.load+=save[i].v;
// printf("---%d\n",t.load);
ans[save[i].index]=t.index; Q.push(t);
}
printf("%d\n",n);
for(int i=1;i<=n;i++)
{
printf("%d%c",ans[i],i==n?'\n':' ');
}
}
return 0;
}

hdu 2850 Load Balancing (优先队列 + 贪心)的更多相关文章

  1. Codeforces Educational Codeforces Round 3 C. Load Balancing 贪心

    C. Load Balancing 题目连接: http://www.codeforces.com/contest/609/problem/C Description In the school co ...

  2. 【架构】How To Use HAProxy to Set Up MySQL Load Balancing

    How To Use HAProxy to Set Up MySQL Load Balancing Dec  2, 2013 MySQL, Scaling, Server Optimization U ...

  3. CF# Educational Codeforces Round 3 C. Load Balancing

    C. Load Balancing time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  4. UVA 12904 Load Balancing 暴力

    Load Balancing Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/vi ...

  5. Load Balancing 折半枚举大法好啊

    Load Balancing 给出每个学生的学分.   将学生按学分分成四组,使得sigma (sumi-n/4)最小.         算法:   折半枚举 #include <iostrea ...

  6. [zz] pgpool-II load balancing from FAQ

    It seems my pgpool-II does not do load balancing. Why? First of all, pgpool-II' load balancing is &q ...

  7. How Network Load Balancing Technology Works--reference

    http://technet.microsoft.com/en-us/library/cc756878(v=ws.10).aspx In this section Network Load Balan ...

  8. Network Load Balancing Technical Overview--reference

    http://technet.microsoft.com/en-us/library/bb742455.aspx Abstract Network Load Balancing, a clusteri ...

  9. How Node.js Multiprocess Load Balancing Works

    As of version 0.6.0 of node, load multiple process load balancing is available for node. The concept ...

随机推荐

  1. SVG关注复杂图形的网页绘制技术

    SVG 是使用 XML 来描述二维图形和绘图程序的语言. 学习之前应具备的基础知识: 继续学习之前,你应该对以下内容有基本的了解: HTML XML 基础 如果希望首先学习这些内容,请在本站的首页选择 ...

  2. python 的一些高级编程技巧

    正文: 本文展示一些高级的Python设计结构和它们的使用方法.在日常工作中,你可以根据需要选择合适的数据结构,例如对快速查找性的要求.对数据一致性的要求或是对索引的要求等,同时也可以将各种数据结构合 ...

  3. android VoiceRecognition 语音识别并打印到列表上

    package com.example.wenandroid; import java.util.ArrayList; import java.util.List; import android.ap ...

  4. bootstrap-js(1)模态框

    1.禁止动画效果 如果你不需要模态框弹出时的动画效果(淡入淡出效果),删掉 .fade 类即可.一般还是不要去动这个,最多自己换个类名在写其他样式,不然你会头大的. <div class=&qu ...

  5. SQL PROMPT5.3.4.1的一些设置选项

    SQL PROMPT5.3.4.1的一些设置选项 我使用的是5.3.4.1版本 sql prompt这个工具安装好之后就可以在SSMS里使用代码提示功能 园子里非常多的文章:例如SQLSERVER开发 ...

  6. NSString+URLEncoding

    NSString+URLEncoding.h #import <Foundation/Foundation.h> @interface NSString(URLEncoding) - (N ...

  7. C# - 自定义 DataSet 的使用

    -------------------------------------------------  SellProdectManager.cs  -------------------------- ...

  8. windows如何获取Win10 Win8 Win8.1版本

    GetVersionEx 在win8 win8.1 win10 之后已经无法使用,如果非要使用的话需要让exe嵌入manifest,mainfest如下.这个文件需要已utf-8存储. <?xm ...

  9. 利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析

    首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...

  10. HTTP协议中的1xx,2xx,3xx,4xx,5xx状态码分别表示什么,列举常见错误码及含义

    转自:http://m.blog.csdn.net/blog/u013857407/21741847 HTTP协议状态码,是指在HTTP协议运作中由客户端发出请求连接,服务端建立连接,客户端发出HTT ...