相关疑难解决方法(0)

从不均匀分布的集中删除项目

我有一个网站,用户提交问题(每天零,一或多个),投票并每天回答一个问题(更多细节在这里).用户只能通过提交,投票或回答一次来查看问题.

我有一些玩家已经看过的问题.我需要每个月从池中删除30个问题.我需要选择要删除的问题,以便最大限度地提高游泳池中可用问题的数量.

有5个问题的池的例子(需要删除3个):

  • 玩家A遇到过问题1,3和5
  • 玩家B已经看到问题1和4
  • 玩家C见过问题2和4

我虽然要删除顶级玩家所看到的问题,但这个位置会发生变化.按照上面的例子,玩家A只剩下2个问题要玩(2和4).但是,如果我删除1,3和5,情况将是:

  • 玩家A可以玩问题2和4
  • 玩家B可以玩问题2
  • 玩家C不能玩任何东西因为1,3,5被移除而他已经看过2和4.

该解决方案的得分为零,即具有最少可用问题量的玩家具有零可用问题.

在这种情况下,最好删除1,3和4,给出:

  • 玩家A可以玩问题2
  • 玩家B可以玩问题2和5
  • 玩家C可以玩问题5

此解决方案的得分为1,因为有两个可用问题最少的玩家有一个可用问题.

如果数据量很小,我就可以强制解决问题.但是,我有数百个玩家和问题,所以我正在寻找一些算法来解决这个问题.

algorithm combinatorics

9
推荐指数
1
解决办法
500
查看次数

标签 统计

algorithm ×1

combinatorics ×1