一道贪心题,很久前做的,代码是我以前写的。

题意:有n个抢劫者抢劫了m块金子,然后第i个人平分xi/y块金子,但是会有除不尽的情况而金子不可再分,那么每个人都有一个不满意度fabs(xi / y - ki/m),ki是每个人实际分得的金子数量,要保证所有人的不满意度和最小,问ki应如何分配。 
题解:如果可以除尽,ki就是xi * m / y,否则要把不满意度和再多分一块金子的不满意度的差值存起来,按从大到小排序,把多出来的金子数量num给前num个人多分一块。

#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int a[1050],k[1050];
double cal[1050],b[1050];
int main()
{int n,m,y;while(scanf("%d%d%d",&n,&m,&y)!=EOF){int sum=0,d=0;memset(cal,0,sizeof(cal));memset(k,0,sizeof(k));memset(b,0,sizeof(b));for(int i=0;i<n;i++){scanf("%d",&a[i]);k[i]=m*a[i]/y;sum+=k[i];b[i]=(double)a[i]/y-(double)k[i]/m;}d=m-sum;while(d--){double tmp=0;int j=0;for(int i=0;i<n;i++){if(tmp<b[i]){tmp=b[i];j=i;}}k[j]++;b[j]-=10;}for(int i=0;i<n-1;i++)cout<<k[i]<<" ";cout<<k[n-1]<<endl;}return 0;
}

转载于:https://www.cnblogs.com/Ritchie/p/5754496.html

ACdream 1224 Robbers (贪心)相关推荐

  1. ACdream 1224 Robbers

    题意:N个抢劫犯去分M个金币,约定了分赃比例,但是金币的最小单位是1,不一定能恰好按比例分.求一种尽可能公平的方案(|Xi/Y - Ki/M|尽量小). 思路:贪心.先整除按比例分,剩下的金币依次分给 ...

  2. AC_Dream 1224 Robbers(贪心)

    题意:n个抢劫犯分别抢到的金钱是k1, k2, k3,...,一共得到的金钱是m, 但是在分钱的时候是按照x1/y, x2/y, x3/y,....的比例进行分配的!这样的话 一些抢劫犯就会觉得不公平 ...

  3. ZOJ2343 Robbers(贪心)

    题目: Robbers Time Limit: 5 Seconds Memory Limit: 32768 KB Special Judge N robbers have robbed the ban ...

  4. sgu207:Robbers(贪心)

    大致翻译:nn个强盗去抢劫银行得到mm个金币,抢劫前他们先确定好了分 配方案,每个人按比例Xi/YXi/Y分配,X1+X2+..Xn=YX_1+X_2+..X_n = Y,mm可能不能 被YY整除,所 ...

  5. zoj 2343 Robbers 【贪心】

    题意: 给你n个金币,然后m个人,每个人有理论的分配份额.但是金币只能整Robbers个整个分. 问你怎么分才能让金币分配的最合理: 题解: 先按比例,把能分的先都分了,最后剩余的,往余数最大的上面补 ...

  6. UVA 1616 Caravan Robbers 【二分+贪心+枚举分母】

    题目链接 题意 给n个互不相包含的区间,求出一个长度的最大值,使得可以在每个区间中选出这样一个长度的子区间,这些子区间互不相交.结果用分数表示 分析 先考虑如果给定了区间长度能不能选出这样的区间.因为 ...

  7. zoj 2709 Lottery 组合数,概率,贪心 (8-F)

    题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2709 题解:  1   组合数的计算,用DP,速度又快又简洁. ...

  8. 信息学奥赛一本通(1224:最大子矩阵)

    1224:最大子矩阵 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 5292     通过数: 3128 [题目描述] 已知矩阵的大小定义为矩阵中所有元素的和.给 ...

  9. HDU ACM 1224 Free DIY Tour (SPFA)

    Free DIY Tour Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

最新文章

  1. C/C++语言链表的排序与查找定位
  2. RedisDeskTopManager连接时提示:can't nonnect to redis-server
  3. jquery与ajax的XMLHttpRequest对象介绍
  4. ASP.NET AJAX - Timer控件之摆放位置的影响
  5. 为什么说RESTful对程序员如此重要
  6. vss 6.0配置VS2005、VS2008 ---- 图文
  7. 运用思维导图学习数据分析的五个步骤
  8. 小米wifi 苹果驱动安装教程macOS Mojave 10.14,Sierra 10.12测试通过
  9. 【weblogic部署应用】
  10. 计算机 A类会议论文,一篇论文被CCF A类会议SIGIR 2021录用!
  11. 《你的降落伞是什么颜色》书摘
  12. 利用python爬取教务系统中成绩
  13. 流浪动物救助服务网站设计与实现(J2EE)
  14. python计算对数收益率_为VNPY的K线序列管理工具ArrayManager增加对数收益率队列
  15. 《MySQL必知必会》学习笔记——组合查询、全文本搜索
  16. android与createjs交互,createjs高级教程:createjs与dom的协作
  17. Mac OS安装NS 3
  18. aux ps 和top_关于vmstat,top,ps aux查看的cpu占用率不一致的问题
  19. 【金猿人物展】天云数据雷涛:从数据湖到湖仓一体再到数据编织,完成的是燃油车到油电混再到纯电技术的改造...
  20. 记一次 .NET 某智慧物流WCS系统CPU爆高分析

热门文章

  1. 【android】两个按钮的宽度各占屏幕的一半
  2. Navicat Premium 连接 Oracle 数据库
  3. 如何把一个程序中 Edit 中的文本赋给另一个程序的 Edit ? - 回复 Disk_ 的问题
  4. 3.6.3 无线局域网
  5. 修改域名dns服务器,新网互联域名如何修改DNS设置方法
  6. php文件有哪几种,PHP常用的文件操作函数有哪些
  7. latex常见编译错误和细节
  8. 从源码分析DEARGUI之动态特效
  9. msdn 上的关于delegate和event的一个例子,理解后加点评论
  10. 领取Virmach免费Minecraft主机搭建“我的世界”服务器