zoukankan      html  css  js  c++  java
  • POJ 2699 战斗小王子

    题目大意:一场联赛可以表示成一个完全图,点表示参赛选手,任意两点u, v之间有且仅有一条有向边(u, v)或(v, u),表示u打败v或v打败u。一个选手的得分等于被他打败的选手总数。一个选手被称为“strong king”当且仅当他打败了所有比他分高的选手。分数最高的选手也是strong king。现在给出某场联赛所有选手的得分序列,由低到高,问合理安排每场比赛的结果后最多能有几个strong king。已知选手总数不超过10个。

    题解:看到"不超过10个"我们枚举就好(其实二分才是正解啊喂= =)。

    首先看一个定理:如果有x个king那么一定是分数最高的x个,证明留坑= =。如果有这个定理的话我们只要枚举前缀是否全都为king是否可行即可,变成限制问题。对于一个人i,如果他是king,那么他要赢所有的比她分数高的人;如果不是则随便,这是典型的竞赛分配问题,由于没有分值只有输赢,对于每一个比赛节点我们控汇1即可,赢就连边1,输就不连边,不知道就两个人都连边。注意一些边界条件即可。

  • 相关阅读:
    C#中关于DBNULL的处理方法
    html 点击复制
    AJAX的简洁写法
    PHP 数组模糊查询
    PHP二维数组搜索返回数组
    php 数组排序得方法
    PHPExcel的使用
    使用PHPword中文乱码并且下载的方法
    关于多图上传的修改的操作
    把一个表里的两列或者三列合并为一行
  • 原文地址:https://www.cnblogs.com/chxer/p/4550198.html
Copyright © 2011-2022 走看看