第1题 绿组. 奶牛接力赛[relay]

题目描述

农夫约翰已经为一次赛跑选出了K(2≤K≤40)头牛组成了一支接力队.赛跑在农夫约翰所拥有的农场上进行,农场的编号为1到Ⅳf4≤Ⅳ< 800),Ⅳ个农场之间共有M(1≤M≤4000)条双向道路,每条双向道路连接一对不同的农场,一对不同的农场之间最多只有一条双向道路.你将得到每条牛为了穿过每个道路所需要的时间.比赛的起点设在1号农场,终虑设在Ⅳ号农场,比赛开始后第一头牛开始从1号农场出发,在Ⅳ号农场到达终点.第一头牛结束之后马上就让下一头牛从1号农场开始,跑向Ⅳ号农场,直到所有的牛都跑过一次为止.

作为比赛的规则,任意的2头牛跑过的路线不能完全相同(路线是指跑过的农场的序列).但对某头牛来说它可以经过某个农场多次.写一个程序为农夫约翰的接力队计算所有的牛完成这次比赛所需的最少的时间.可以保证对所有的测试数据要求的最少时间是一定存在的.

输入说明

第1行包含3个整数:K,Ⅳ,M.

从第2行到第M+1行:每行包括描述一条道路的3个整数,分别表示该道路连接的两个农场的编号,以及每条牛穿过这条路所需的时间(范围在[1,9500]).

输出说明

输出文件仅一行,表示这K头奶牛完成接力赛所用的最短时间(假定每单位长度需要花费一单位时间).

输入样例

4 5 8

1 2 1

1 3 2

1 4 2

2 3 2

2 5 3

3 4 3

3 5 4

4 5 6

输出样例

23

样例说明

奶牛1  1~2~5    4

奶牛2  1~3~5    6

奶牛3  1~2_1_2~5    6

奶牛4  1_2_3_5    7

来源信息

Brian Dean.2001

第2题 绿组.重建家园[quake]

题目描述

地震已经破坏了农夫约翰所有的农场以及所有连接农场的道路.作为一个意志坚强的人,他决定重建所有的农场.在重建全部Ⅳ(1≤Ⅳ≤400)个农场之前,首先必须把所有农场用道路连接起来,即任意两个农场之间必须有至少一条通路.在研究了地图之后,农夫约翰已经得出了结论:M(1《M≤10000)条双向的道路可以在较短的时间内建造好.由于约翰的资金有限,他想以尽可能便宜的方法完成工程.

碰巧,农场里的奶牛们组建了一个专门从事重新改造在地震中被破坏的农场道路的工程公司,约翰决定把道路重建的工作交给奶牛们去完成.这些牛也有着锐利的商务感觉,它们希望从工程中获得最大的利益.约翰和奶牛们经过协商,约翰愿意拿出F(1≤F≤2×109)元钱给奶牛们用于道路重建.他要求奶牛们把所有农场用道路连接起来,即任意两个农场之间必须有至少一条通路.

奶牛们根据地图估算出了建造每条道路的成本c(l≤c≤2×109)及用时t(l≤t≤2×109). -

对农场之间可以有1条以上可重建道路,并且对于给定的测试数据将所有农场连接起来是能够做到的.

现在奶牛们找到你,要求你编一个程序求出重建农场道路能让奶牛们获得的最大利润率.也就是使得剩余经费与所花时间的比值(赚钱速度)最大.

输入说明

第1行为三个整数Ⅳ,M和F.

第2行到第M+1行,每一行都包括4个用空格隔开的整数:i,j,c,£分别表示可以重建的一条道路的两端连接的农场,以及重建该条道路的成本和时间.

输出说明

包含一个实数,表示剩余经费与所花时间的比值,保留4位小数.如果不可能以现有经费连接所有道路,输出0.0000.

输入样例

5 100

2 20

3 20

4 20

5 20

3 23

输出样例

1. 0625

样例说明

奶牛们可以选择修建最后的四条道路,这样所花经费为83,利润为17,所用时间为16.所以,他们在16单位时间内获利17元,比值为(100-83)/16=1.0625.

来源信息

Chandrasekaran, 1977; Tvarozek, 2001

第3题 绿组.奶牛排序[sort]

题目描述

农夫约翰有C(2≤C≤400)头牛和相同数量的畜栏.

这些牛对于她们畜栏的安排特别反复无常.当她们按随机的顺序进入畜栏的时候,必须按适当的顺序对她们进行重新安排,否则,她们的奶产量将减少.

为了找刭适当的顺序,每头牛都检查其标记(是一个不到2000000的正整数),来保证她右边牛的标记不比自己小,并且在她左边的牛的标记不比自己大.有趣的是,带最小的标记的牛左边的牛却可以带有最大的标记(同样带最大的标记的牛右边的牛可以带有最小的标记).

如果符合上述排列规则,就说牛按适当的顺序排列.注意:这些排列规则是用来描述一系列有序数表的(而不是什么怪异的东西).例如,如果牛的标记是2,2,4,5,7,则畜栏中牛的适当排列可以有以下这几种:

2, 2, 4, 5, 7

7, 2, 2, 4, 5

5, 7, 2, 2, 4

4, 5, 7, 2, 2

2, 4, 5, 7, 2

如果你和牛打过交道,你就知道要移动她们是很难的.为了重新安排这些牛,农夫约翰可以将牛引出畜栏,穿过,进入其他的畜栏.约翰只有两只手,每次至多只能引导2头牛,每个畜栏任何时候最多只能放1头牛.每次把牛引出畜栏,或引入畜栏,约翰都要消耗10焦耳能量.而且,每引导一头牛走过一个畜栏的长度,他也要消耗一焦耳.但如果他不引导牛,而只是独自在畜栏间行走,就不消耗能量.这样,如果他引导两头牛从第3畜栏走到第7畜栏,他将消耗(7-3) x2=8焦耳能量.不带牛独自走回畜栏1则损失0焦耳能量.

请计算:约翰为把牛放入适当的顺序所需耗费的最小能量.

输入说明

第1行一个数C,接下来的C行每行代表初始状态下牛栏中牛的编号.

输出说明

仅一个数,表示需要花费的最小能量.

输入样例

5

5

2

7

4

2

输出样例

66

样例说明

行动    消耗  牛棚  约翰的位置

牛从棚1出来  10  *2 7 4 2    5

走到棚2    1  *2 74 2    5

牛从棚2出来  10  **74 2    5 2

牛5进入棚2  10  **5 7 4 2    2

走到棚4    2  *5 74 2    2

牛从棚4出来  10  *57*2    2 4

牛2进入棚4  10  *5 7 2 2    4

走到棚1    3  *5 7 2 2    4

牛4进入棚1  10  4 5 7 2 2

最后的序列:4,5,7,2,2.总花费:66.

来源信息

Kolstad&Burch, 2001

第4题 绿组.奶牛广告[sign]

题目描述

农夫约翰有一块位于高速公路一侧的农场,他想在奶牛身上打上广告语给自己生产的奶制品作些宣传.这样当奶牛们排成一排吃草时,开车的人就能看到广告.于是约翰依次在C(2≤C≤20)共奶牛的身上刷上了K(2≤K≤4)个字母组成了一句广告语,广告语中是没有空格.

在第二天早上出奶之后,农夫约翰注意到他刷在奶牛身上的广告语显示出错了,原因是奶牛们排错了次序.更糟糕的是,农夫约翰也忘了最初的广告语,因为约翰十分的健忘.好在约翰文化程度很低,他认识的单词并不多,他所用的广告语使用的单词都是他所认识的.约翰认识的单词不超过的D(1≤D≤150)个.一个单词可以不止一次地用于广告语中.

现在给出所有奶牛身上的信息,以及约翰认识的所有单词,请你编一个程序,帮助农夫约翰重建最初的信息.

输入说明

第1行为3个用空格隔开的整数K,C,D.

第2到C+1行每行均为K个字母,表示一头奶牛身上的信息.

从C+2行到C+D+1行每行为一个约翰认识的单词,单词的长度不超过10.

输出说明

第1行为在字典序列中最小的可能的句子.

第2行一个整数,表示有多少句可能的句子.

如果不存在符合要求的句子,输出“NOSOLUTIONS”.

输入样例

3  5  7

TEN

ATT

NAT

BAR

ACK

AT

ATTACK

BARN

CHICKENS

CHOPPERS

cows

TEN

输出样例

ATTACK BARN AT TEN

6

样例说明

六种可能的广告语是:

I  TEN ATTACK BARN AT

2  TEN BARN AT ATTACK

3  ATTACK TEN BARN AT

4  ATTACK BARN AT TEN

5  BARN AT TEN ATTACK

6  BARN AT ATTACK TEN

来源信息

Galperin,2001

第5题 绿组.垃圾井[well]

题目描述

卡门一农夫约翰极其珍视的一条荷斯坦奶牛一已经落了到垃圾井中.垃圾井是农夫们扔垃圾的地方,它的深度为D(2≤D≤100)英尺.卡门想把垃圾堆起来,等到堆得与井同样高时,她就能逃出井外了.另外,卡门可以通过吃一些垃圾来维持自己的生命.每个垃圾都可以用来吃或堆放.并且堆放垃圾不用花费卡门的时间.

假设卡门预先知道了每个垃圾扔下的时间互,以及每个垃圾堆放的高度H和吃进该垃圾能维持生命的时间Fi.卡门体内现有足够持续10小时的能量.如果卡门10小时内没有进食就将饿死.

求出卡门最早能逃出井外的时间.

输入说明

第1行为2个整数,D和G(1≤G≤100),G为被投入井的垃圾的数量

第2到第G+1行每行包括3个整数:Ti(0<Ti≤1000),表示垃圾被投进井中的时间;Fi(l≤Fi≤30),表示该垃圾能维持卡门生命的时间;和Hi(l≤Hi≤25),该垃圾能垫高的高度.

输出说明

如果卡门可以爬出陷阱,输出一个整表示最早什么时候可以爬出;否则输出卡门最长可以存活多长时间.

输入样例

20  4

5  4  9

9  3  2

12  6  10

13  1  1

输出样例

13

样例说明

卡门堆放她收到的第1个垃圾:高度变为9;卡门吃掉她收到的第2个垃圾,使她的生命从10小时延伸到13小时;卡门堆放第3个垃圾,高度变为19;卡门堆放第4个垃圾,高度变为20.

来源信息

Cox, 2001

USACO 2001 OPEN的更多相关文章

  1. Cow Relays 【优先队列优化的BFS】USACO 2001 Open

    Cow Relays Time Limit: 1000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others) Tota ...

  2. Luogu 4951 [USACO 2001 OPEN]地震

    水个博客玩. $01$分数规划. 题目要求$\frac{F - \sum_{i = 1}^{n}C_i}{T_i}$最大,设$\frac{F - \sum_{i}C_i}{T_i} \geq e$,移 ...

  3. [ USACO 2001 OPEN ] 地震

    \(\\\) Description​ 给出一张 \(n\) 个点 \(m\) 条边的无向图,现在要建一棵生成树. 每条边都有消耗的时间 \(t_i\),也有建造的代价 \(w_i\) . 最后总金给 ...

  4. USACO 2001 OPEN earthquake /// 最优比例生成树

    题目大意: https://www.cnblogs.com/forever97/p/3603572.html 讲解:https://www.jianshu.com/p/d40a740a527e 题解: ...

  5. [USACO]地震 (二分答案+最优比率生成树详解)

    题面:[USACO 2001 OPEN]地震 题目描述: 一场地震把约翰家的牧场摧毁了, 坚强的约翰决心重建家园. 约翰已经重建了N个牧场,现在他希望能修建一些道路把它们连接起来.研究地形之后,约翰发 ...

  6. USACO Cow Frisbee Team

    洛谷 P2946 [USACO09MAR]牛飞盘队Cow Frisbee Team 洛谷传送门 JDOJ 2632: USACO 2009 Mar Silver 2.Cow Frisbee Team ...

  7. USACO 5.5 章节

    Picture 题目大意 IOI 1998 求n (<=5000)个矩形 覆盖的图形 的周长(包括洞), 坐标范围[-10000,10000] 题解 一眼离散化+2维线段树,但仔细一想 空间不太 ...

  8. USACO . Your Ride Is Here

    Your Ride Is Here It is a well-known fact that behind every good comet is a UFO. These UFOs often co ...

  9. 【USACO 3.1】Stamps (完全背包)

    题意:给你n种价值不同的邮票,最大的不超过10000元,一次最多贴k张,求1到多少都能被表示出来?n≤50,k≤200. 题解:dp[i]表示i元最少可以用几张邮票表示,那么对于价值a的邮票,可以推出 ...

随机推荐

  1. 七种Prolog解释器/编译器

    http://blog.sina.com.cn/s/blog_494e45fe0100lh1v.html PROLOG 人工智能领域常用的语言,开发自然语言分析,专家系统,以及所有和智能有关的程序,都 ...

  2. 如何为你的美术妹子做Unity的小工具(二)

    你想像这样一样  为自己的Unity 小工具打开一个Unity的窗口吗?   看起来就很厉害对不对   妹子看了还不激动吗 ?!

  3. Csharp多态的实现(虚方法)

    1.什么是抽象类 1.1虚方法是用virtual修饰,在子类中用override进行重写 1.2虚方法是一个方法,放在类里面(可以再下面的代码中看到) 1.3虚方法可以 重写,也可以不重写(这个可以再 ...

  4. Csharp多态的实现概述

    (1)什么是多态, 多态就是一个类表现出多种不同的形态, 他的核心是子类对象作为父类对象使用 (2)怎么实现多态, 在Csharp中,可以用接口, 虚方法, 抽象类实现多态,当然,不管是这三种的那一个 ...

  5. Labview学习之程序Web发布

    Labview学习之程序Web发布 1. LabVIEW Web服务器     在LabVIEW开发环境中,自身带了一个已连接好的Web服务器.LabVIEW Web服务器除了与其他Web服务器一样能 ...

  6. MVC定义路由

    标准路由配置 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Defa ...

  7. hadoop笔记之hdfs

    1.HDFS设计基础与目标 1.HDFS设计基础与目标 (1)硬件错误是常态,因此需要冗余. (2)流式数据访问.即数据批量读取而非随机读写,Hadoop擅长做的是数据分析而不是事务处理. (3)大规 ...

  8. windows下安装testlink

    因为项目中一直没有使用任何测试用例管理工具,如果需要的时候都是个人写在的excle里各自保存,因为没有系统的记录当时测试方法和测试用例,每次需要再次测试已有的功能时,因为时间太长,而往往记不得当时是怎 ...

  9. HDU 4366 Successor(树链剖分+zkw线段树+扫描线)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=4366 [题目大意] 有一个公司,每个员工都有一个上司,所有的人呈树状关系,现在给出每个人的忠诚值和 ...

  10. 如何注册成为uber司机 快速成为优步司机网上注册流程攻略 2015最新

    [目前开通Uber的城市]:北京.上海.天津.广州.成都.深圳.杭州.重庆.武汉.青岛.南京.苏州.长沙.宁波.西安.佛山等.济南,烟台和厦门正在秘密的招第一批司机. [车辆要求]:要求裸车价8万以上 ...