- 在线时间
- 0 小时
- 最后登录
- 2014-2-24
- 注册时间
- 2014-2-24
- 听众数
- 8
- 收听数
- 2
- 能力
- 0 分
- 体力
- 14 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 8
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 9
- 主题
- 2
- 精华
- 0
- 分享
- 0
- 好友
- 2
升级   3.16% TA的每日心情 | 郁闷 2014-2-24 17:04 |
|---|
签到天数: 1 天 [LV.1]初来乍到
- 自我介绍
- 求算法
 |
本帖最后由 aolaze 于 2014-2-24 17:07 编辑
描述是这样的:
有个集合(n0...nx)x最多给到8,给出一个最大值X,X为整数不超过20,
尝试 L取值为(1~max(n0...nx)),以及(n0...nx)对应的比值(m0...mx)并且满足sum(m0...mx)值<=X,使得n0==(n0-(m0*L<=n0)),nx==(nx-(mx*L<=nx),经过多次L和m0的取值,使得n0=0,nx=0。
求尝试取L和(m0...mx)为何值时可得到最佳次数,即就讲尝试取值的次数越少越好,尽量让sum(m0...mx)=X ,以保证集合分配值为最多。
所以我的解题时都是会考虑X为最大值。
(注:有二组数值需要求解,一组是(m0...mx)这个是分配的比值,另一组是L)。用集合中的数值-(比值*L)得到下层的集合数,直到集合中的数据全为零。
例如:
(200,400,500,850,740,420) X=6 L
第一次取值 (0, 1, 1, 2, 1, 1) 6 400
(200,0 ,100,50 ,340,20)
第二次取值 (2, 0, 1, 0, 3, 0) 6 100
(0, 0, 0, 50, 40, 20)
第三次取值 (0, 0, 0, 2, 2, 1) 5 20
(0, 0, 0, 10, 0, 0)
第四次取值 (0, 0, 0, 1, 0, 0) 1 10
(0, 0, 0, 0, 0, 0)
经过四次尝试后集合数据清零。
这个是不是最佳没求证,但思路是这样子的,求算法怎么解? |
zan
|