2015 UESTC Winter Training #6
Regionals 2010 >> North America - Rocky Mountain
A - Parenthesis
给一个长度不多于1000的表达式,只包含小写字母,加法运算,省略乘号的乘法运算和括号,输出去掉多余括号的表达式
括号匹配可以使用栈操作,只有两种情况可以去掉这一对括号:
- 左括号的左边是左边界、加法符号、左括号,并且右括号右边是有右边界、加法符号、右括号
- 如果括号内没有加法运算(括号内的括号里,也就是下一级括号里的加法除外),那么括号也可以去掉
B - Ropes
要攀登n(最多100)阶悬崖,每个悬崖的高度hi给了(最高100),对于长度为len的绳子,可供len/hi+1个人使用攀爬。而下山时绳子必须满足len<sum*2其中sum为所有悬崖高的总和。现在问长为50、60、70m的绳子分别能供多少人使用,若绳子不满足条件,输出0。
这道题读题好烦,读题用了30分钟,读懂题5分钟就能敲出代码。
C - Chain Code
暂时还没有看,好像用到皮克定理
D – Task
有几个任务的次序,下面给出几个条件:(最多100条语句)
task i starts at least A minutes later than task j
任务i必须在j开始的A分钟之后(含A分钟)做
task i starts within A minutes of the starting time of task j
任务i必须在j开始后,且开始后A分钟之内(含A分钟)开始做
现在要求给一个所有任务开始时间,任意的一个解
还没有写,据说要用到差分约束系统
E - Page Count
一个文档有n(<=1000)页,从1开始编号,下面有几个打印任务,每次打印第low页到第high页。并且每页最多打印一次,问最终有多少页被打印出来。
估计是最水的题目吧。打印任务的输入格式low-high,也可以是单个数。因为忘了判断单个数而WA了三发。。。_(:зゝ∠)_
F - Soccer
给出n个球队的名字,接下来m行,每行 team1 vs team2: x y,其中x,y为两个球队当局的比分,每局比赛胜者得三分,平局的话各加一分。当x=y=-1时,说明这局还没有打(最多12场还没有打)。问每个球队最高的排名和最低可能的排名。
这题最大的坑点就是,每组输出数据之间有空行!
题目本身很简单,每场比赛有三个状态,DFS枚举一下就可以。
G - Railroad
两列火车分别进栈,右上边的第一列火车有a节车厢,每节有一个编号,右下边的第二列火车有b节车厢,每节有一个编号,每个车厢一次进栈,问能否组成给定的栈序列。
DP问题,设dp[i][j][k]为第一列火车前i节车厢,第二列火车前j列车厢能否做成给定栈序列的前i+j个。其中k=0为最后进栈的是第一列火车的车厢。k=1为最后进栈的是第二列火车的车厢。这样dp[i][j][0]=dp[i-1][j][0] | dp[i-1][j][1](给定序列的第i+j个值等于第一列火车的第i节车厢的值),dp[i][j][1]=dp[i][j-1][0] | dp[i][j-1][1](同理)
初始化为dp[0][0][0]=dp[0][0][1]=1
H - Post Office
给定包裹的大小,判断是哪一种包裹。
相当水的题目,重点在于读题,the parcel‘s combined length and girth may not exceed 2100mm.这句话就是length+2*(thickness+height)<=2100,这句话combined…and… (…与…的和)句型是一大坑点。
I - Aronson
这道题还没有看