作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试编写一个程序来自动生成选票草稿。
我们有一定数量的季票,想把票分给一群人。有 X 场比赛,Y 场季票,Z 个人。每个 Z 人都对 X 游戏进行了排名。
我的代码基本上遍历草稿顺序,如果有的话,从他们的排名中挑选出门票,否则,选择下一个最高排名。在大多数情况下它是有效的。问题是,有一个点,大部分门票都被拿走了,剩下的门票是你已经拥有的,所以你只是不去挑选它们。因此,人们有不同数量的票。有解决这个问题的好方法吗?
最佳答案
如果您有 X 场比赛和 Y 季票,大概有 X*Y 张门票可以送给 Z 个人,对吧?
这听起来像是一个优化问题,但要做到这一点,您必须确定您的主要目标吗?我猜你希望每个人都收到 X*Y/Z 票(平分),但也许不是。我猜您还想最大化门票的总体满意度(根据排名以某种方式定义)。如果一个人在同一场比赛中收到多于 1 张门票,您可能希望对他进行大笔的惩罚以表示满意。我相信这最后一个方面可能是直接草稿方法不是最好的原因,但我可能错了。
一旦您清楚要优化的内容(如果这确实是一个优化问题),您就可以考虑解决该问题的最佳方法。这可以是您自己定制的解决方案,或者您可以尝试现有技术(遗传算法等)。但在这样做之前,正确地构建问题很重要。
关于algorithm - 选票起草算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3869395/
我是一名优秀的程序员,十分优秀!