博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
怎样去思考问题 解决问题 zkc学长的福利
阅读量:6302 次
发布时间:2019-06-22

本文共 1469 字,大约阅读时间需要 4 分钟。

题目描述又是一年ACM集训的时刻,zkc学长邀请n位同学来玩一个有奖游戏。首先,他让每个同学在左、右手上面分别写下一个整数,zkc学长自己也在左、右手上各写一个整数。然后,让这n位同学排成一排,zkc学长站在队伍的最前面。排好队后,所有的同学都会获得zkc学长分发的若干肉松饼,每位同学获得的肉松饼数分别是:排在该同学前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。zkc学长不希望某一个同学获得特别多的福利,所以他想请你帮他重新安排一下队伍的顺序,使得获得福利最多的同学,所获福利尽可能的少。注意,zkc学长的位置始终在队伍的最前面。【数据范围】 对于100%的数据,有1 ≤ n ≤1,000,0 < a、b < 10000输入第一行一个n表示n个同学第二行两个数字代表zkc学长左手和右手的数字接下来的n行分别代表第n个同学左手和右手的数字输出一个数字代表获得福利最多同学所获得福利样例输入31 12 37 44 6样例输出2提示按1、2、3号同学这样排列队伍,获得福利最多的同学所获得肉松饼数为2; 按1、3、2这样排列队伍,获得福利最多的同学所获得肉松饼数为2;按2、1、3这样排列队伍,获得福利最多的同学所获得肉松饼数为2;按2、3、1这样排列队伍,获得福利最多的同学所获得肉松饼数为9;按3、1、2这样排列队伍,获得福利最多的同学所获得肉松饼数为2;按3、2、1这样排列队伍,获得福利最多的同学所获得肉松饼数为9。因此,福利最多的同学最少获得2个肉松饼,答案输出2。

最重要的话就是   排在前面同学 左手上数字的成绩除以这个同学的右手数字 就是这个同学应有的饼干数 .

 

 

现在 如果A在B的前面  那么A 所获得的饼的数量  t/r.a   B得到的饼的数量就是  t*la/rb  

现在 如果B在A的前面  那么B 所获得的饼的数量  t/r.b   A得到的饼的数量就是  t*lb/ra

假设 A必须在B的前面  那么 一定可以推导出来一个包含 四个变量的  表达式  用于排序

现在关键的就是  为什么 A必须排在B的前面   最外层的原因就是 为了得到 饼干数量最多的人  得到的饼干尽量的少    

所以该问题可以简化为    前面的所有同学的左手只是一只A手   那只A手上面的数字是B前面所有同学的左手乘积   于是 现在就简化为了两个人的问题.     同样的一个人  是  排在前面的到 饼的数量多还是 排在后面得到的饼的数量多呢 . 很明显是排在  后面的 多 所以  为什么  A排在 B的前面 因为        t*la/rb<t*lb/ra   (这样  最大的数量就尽量的小了   )   

1 #include
2 #include
3 using namespace std; 4 struct S 5 { 6 int r,l; 7 }; 8 bool cmp(S a,S b) 9 {10 return a.l*a.r
maxn)33 maxn=j-1;34 else35 maxn=j;36 printf("%.0lf\n",maxn);37 }38 return 0;39 }

 好像数据变大了,我的方法过不掉了,   请等一下我修正后的代码。

转载于:https://www.cnblogs.com/A-FM/p/5184045.html

你可能感兴趣的文章
python 异常
查看>>
last_insert_id()获取mysql最后一条记录ID
查看>>
可执行程序找不到lib库地址的处理方法
查看>>
bash数组
查看>>
Richard M. Stallman 给《自由开源软件本地化》写的前言
查看>>
oracle数据库密码过期报错
查看>>
修改mysql数据库的默认编码方式 .
查看>>
zip
查看>>
How to recover from root.sh on 11.2 Grid Infrastructure Failed
查看>>
rhel6下安装配置Squid过程
查看>>
《树莓派开发实战(第2版)》——1.1 选择树莓派型号
查看>>
在 Linux 下使用 fdisk 扩展分区容量
查看>>
结合AlphaGo算法和大数据的量化基本面分析法探讨
查看>>
如何在 Ubuntu Linux 16.04 LTS 中使用多个连接加速 apt-get/apt
查看>>
《OpenACC并行编程实战》—— 导读
查看>>
机器学习:用初等数学解读逻辑回归
查看>>
如何在 Ubuntu 中管理和使用逻辑卷管理 LVM
查看>>
Oracle原厂老兵:从负面案例看Hint的最佳使用方式
查看>>
把自己Github上的代码添加Cocoapods支持
查看>>
C语言OJ项目参考(2493)四则运算
查看>>