2015 UESTC Winter Training #7

2010-2011 Petrozavodsk Winter Training Camp, Saratov State U Contest

据说这套题写出3题就是金牌水平了。。。

Problem D. Group Stage

足球比赛,现在有n(2<= n <=100)支球队。要从中选拔m(1<= m <=n-1)支球队,每支球队互相比赛一场,即比赛n*(n-1)/2场,胜者得3分,平局各得1分。最后从大到小列出排名,如果有队伍恰好得分相同,并且必须从中选出几支球队,那么采用抽签的方式选取。问:

  1. 球队排名在最后一名(有很多并列)仍然可能被选中的最小得分
  2. 球队排名在第一名(还是有很多并列)仍然可能不被选中的最大得分。

代码很短,就是一个公式,但是公式竟然推了两个小时

先看第一问,排名在最后一名,仍然被选中,也就是说,得分从大到小排序后第m支到第n支球队得分相同,并且得分一定要最小。显然他们都输给前m-1支队伍,然后互相比赛均为平局时最小。想想,假如相互比赛时有一个人胜利了,它该场比赛得分为3,就比得分1的平局得分更多。那么我们输出n-m即可。

再看第二问,排名在第一名,仍不一定被选中,也就是,得分从大到小排序后第1支到第m+1支球队得分相同,并且得分最大。对于每个球队,要战胜第m+2支到第n支球队,得分为(n-m-1)*3。在前m+1支球队互相比赛中,每个球队,胜m/2场,如果m是奇数,再平局一场,得分为m/2*3+m%2这时的得分最大。

 

 

Problem E. Map Coloring

这道题还没有写,据说用到 DP 和 最大权匹配。

Problem J. Taxi

有n个男孩,m个女孩(均小于2011,其中m<=3n)要乘出租车回各自的家,每个出租车最多乘4人,并且每个出租车上必须有一个男孩(男孩可以坐完全程),他们回家的方向相同,并且家在同一条街上。每个人的姓名以及家的距离已给出dis<=10000。问出租车最小的总费用是多少,并输出需要的出租车数以及任意一种费用最小方案。

动态规划,先将男孩和女孩分别按照家的距离从大到小排序,设dp[i][j]为前i个男孩和前j个女孩乘坐出租车的最小费用。

dp[i][j]=min{ dp[i-4][j] + 4个男孩的最远路程,dp[i-3][j-1] + 3男1女中的最远路程,

dp[i-2][j-2]+2男2女中的最远路程,dp[i-1][j-3]+1男3女中的最远路程}

最后一辆出租车可能载不满客,需要特殊判断一下。

dp的每一步记录一下前驱,最后递归输出即可。

2015 UESTC Winter Training #7【2010-2011 Petrozavodsk Winter Training Camp, Saratov State U Contest】的更多相关文章

  1. 2015 UESTC Winter Training #8【The 2011 Rocky Mountain Regional Contest】

    2015 UESTC Winter Training #8 The 2011 Rocky Mountain Regional Contest Regionals 2011 >> North ...

  2. 2015 UESTC Winter Training #6【Regionals 2010 >> North America - Rocky Mountain】

    2015 UESTC Winter Training #6 Regionals 2010 >> North America - Rocky Mountain A - Parenthesis ...

  3. 2015 UESTC Winter Training #10【Northeastern Europe 2009】

    2015 UESTC Winter Training #10 Northeastern Europe 2009 最近集训都不在状态啊,嘛,上午一直在练车,比赛时也是刚吃过午饭,状态不好也难免,下次比赛 ...

  4. 2015 UESTC Winter Training #4【Regionals 2008 :: Asia - Tehran】

    2015 UESTC Winter Training #4 Regionals 2008 :: Asia - Tehran 比赛开始时电脑死活也连不上WIFI,导致花了近1个小时才解决_(:зゝ∠)_ ...

  5. VRay 2.0 SP1 2.10.01 for 3ds max 9/2008/2009/2010/2011/2012 32/64位 顶渲简体中文版+英文版[中国室内设计论坛-室内人]

    VRay 2.0 SP1 2.10.01 for 3ds max 9/2008/2009/2010/2011/2012 32/64位 顶渲简体中文版+英文版[中国室内设计论坛-室内人] 对最新版本的V ...

  6. 2015-2016 Petrozavodsk Winter Training Camp, Nizhny Novgorod SU Contest (5/9)

    2015-2016 Petrozavodsk Winter Training Camp, Nizhny Novgorod SU Contest B. Forcefield 题意 给你一维平面上n个镜子 ...

  7. Petrozavodsk Winter Training Camp 2018

    Petrozavodsk Winter Training Camp 2018 Problem A. Mines 题目描述:有\(n\)个炸弹放在\(x\)轴上,第\(i\)个位置为\(p_i\),爆炸 ...

  8. ACM ICPC 2010–2011, Northeastern European Regional Contest St Petersburg – Barnaul – Tashkent – Tbilisi, November 24, 2010

    ACM ICPC 2010–2011, Northeastern European Regional Contest St Petersburg – Barnaul – Tashkent – Tbil ...

  9. 2014-2015 Petrozavodsk Winter Training Camp, Contest.58 (Makoto rng_58 Soejima contest)

    2014-2015 Petrozavodsk Winter Training Camp, Contest.58 (Makoto rng_58 Soejima contest) Problem A. M ...

随机推荐

  1. Selenium 下载URL

    http://mvnrepository.com/artifact/org.seleniumhq.selenium

  2. Oracle高级查询,事物,过程及函数

    一 数值函数 数值 abs,ceil,floor,round,trunc字符串 instr,substr SQL>SELECT 'ABS':'|| ABS(-12.3) FROM DUAL; 运 ...

  3. 请给出异步加载js方案

    请给出异步加载js方案,不少于两种 默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很 ...

  4. WEB兼容性之JS

    1. 获取iframe的window对象 //三种方法 window.iframeName window.frames[iframeName] document.getElementById(ifra ...

  5. MLlib-聚类

    聚类 例子 流聚类 例子 聚类 MLlib支持k-means聚类,一种最常用的聚类方法,将数据点聚成指定数据的簇.MLlib实现了一种k-means++的并行变种,叫做kmeansII.MLlib的实 ...

  6. python numpy 使用笔记 矩阵操作

    (原创文章转载请标注来源) 在学习机器学习的过程中经常会用到矩阵,那么使用numpy扩展包将是不二的选择 建议在平Python中用多维数组(array)代替矩阵(matrix) 入门请考 http:/ ...

  7. decimal类型数据如何保留两位小数

    日常开发中,decimal作为货币类型,经常会处理保留两位小数的问题. 本站整理两种,decimal类型保留两位小数的方法. 第一种: decimal d = 46.28111m;string res ...

  8. xcode 发展史 及 做iOS 必须知道的小知识

    Xcode 3.0 是开发人员建立 Mac OS X 应用程序的最快捷方式,也是利用新的苹果电脑公司技术的最简单的途径.Xcode 3.0 将Mac OS X的轻松使用,UNIX 能量以及高性能的开发 ...

  9. python中如何用sys.excepthook来对全局异常进行捕获、显示及输出到error日志中

    使用sys.excepthook函数进行全局异常的获取. 1. 使用MessageDialog实现异常显示: 2. 使用logger把捕获的异常信息输出到日志中: 步骤:定义异常处理函数, 并使用该函 ...

  10. 使用Pull解析器生成XML文件和读取xml文件

    有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...