分队与数字对问题解决方案.pptxVIP

  • 1
  • 0
  • 约1.31千字
  • 约 12页
  • 2026-07-19 发布于北京
  • 举报

2014-07-11模拟赛题解清华大学

分队问题给定n个选手,将他们分成若干只队伍。其中第i个选手要求自己所属的队伍的人数大等于a[i]人。在满足所有选手的要求的前提下,最大化队伍的总数。注:每个选手属于且仅属于一支队伍。题目出处CEOI2011team简化

分队问题对于20%的数据,n=10搜索对于60%的数据,n=10000目标:队伍最大化限制:队员要求所在队伍的人数下界目标与限制正好相反最“经济”地满足每个队员的要求贪心

分队问题对于60%的数据,n=10000如何贪心,如何“经济”?对于要求最高的队员,让其与要求次高的一干人等凑成一队为什么不和要求低的队员组队?将所有队员按要求从低到高排序存在一个最优解使得,一队的队员都在一个区间内接着直接贪心可以吗?若要求最高的队员需要4名队友,就让最高的5名选手组成一队行吗?

分队问题反例12455555124[55555]无解最优解[12][455555]不过,贪心对随机数据效果好动态规划充分利用“一队的队员都在一个区间内”的性质满足最后一人即能满足所有人(最后一人的要求a[]最高)f[i]表示前i名队员最多分成的队伍数量f[i]=max{f[j]+1},j∈[0,i–a[i]]枚举第i个人所处的队伍人数

分队问题对于100%的数据,1=n=10^6f[

文档评论(0)

1亿VIP精品文档

相关文档