HDU 2850 Load Balancing(优先队列)

2014-11-24 12:04:04 · 作者: · 浏览: 0



题意:给你 n个数分配给m部分(每部分个数不限),如何使得m部分和的差最小


思路:优先队列,和(sum)最小的优先分配。


#include
  
   
#include
   
     #include
    
      #include
     
       #include
       #include
       
         #include
        
          #include 
         
           #include 
          
            #include
           
             #include
            
              using namespace std; #define INF 1e8 #define eps 1e-8 #define ll __int64 #define maxn 26 #define mol 1000000007 struct node { int id; ll sum; friend bool operator<(node a,node b) { return a.sum>b.sum; } }a[100005]; priority_queue
             
              q; int cmp(node a,node b) { return a.sum>b.sum; } int main() { int t,n,m; int b[100005]; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); memset(b,0,sizeof(b)); int i,j; node p; for(i=0;i