谁是冠军?

来源:互联网 发布:推荐手机桌面软件 编辑:程序博客网 时间:2024/04/29 11:49

一道关于奥运会排名的有趣题目


最近日本国东京刚获得2020奥运会举办权。Three Body不由想起往年各种奇葩奥运排行榜。大家应该对奥运金牌榜(按获得的金牌数目排序),奥运奖牌榜(按获得的金银铜奖牌总数排序)很熟悉。 除此之外,还有好多排行榜估计各位还不一定听说过。比如,澳大利亚"为了国家的荣誉"实行银牌榜(按银牌数目排序), 新西兰国统计局推出奥运效率榜(按人均金牌数目排序), 还有GDP奖牌榜(考虑穷国)等等。各位geek,能不能考虑下,给定N个国家奖牌数目,帮助这些国家计算他们是否能够排名第一,如果不能排名第一,最好成绩能排在第几位?


为了简化问题, 我们只考虑金牌和银牌数目。排行榜也仅使用金牌和银牌数目加权的方式, score = w1 * goldMedalNumber + w2 * silverMedalNumber (w1, w2都是实数,可以是正数,负数或者零)
比如 A国的金银牌数目为(10, 5), B国的金银牌数目为(9, 1), 取w1 = 0.7, w2= -0.2, 那么A国分数 0.7 * 10 - 0.2 * 5 = 6, B国分数0.7 * 9 - 0.2 * 1 = 6.1, B国排在A国前面。

问题1. 给定3个国家, 怎么判断其中一个国家能不能排在第一名?
问题2. 给定1000个国家或地区, 怎么判断一个国家能否排在第一名?
问题3. 来自三体星的智子知道地球上有奥运会之后, 强烈要求也加入比赛, 参赛的国家和地区剧增到100000, 你的方法还能快速判断其中一个国家是否能排在第一名吗? ( O(N^2)的算法开始吃不消了 )
问题4. 在参赛的100000个国家中, 有多少个国家能排名在第一名?
问题5. 在参赛的100000个国家中, 某个国家的最好排名是多少?

0 0