CodeM 2017美团编程大赛初赛B轮
时长:180分钟 总分:100分
84浏览 0人已完成答题
题型介绍
题型 | 填空题 |
---|---|
数量 | 6 |
合并字符串的价值
我们定义字符串c的价值如下:令n为字符串c的长度,分界线k(1<=k<=n-1)将c分为两个子串u=c[1..k],v=c[k+1..n]。u、v中字符的任意排列,使得u、v的最长公共前缀最大,这就是分界线k的价值,而所有分界线k价值最大的一个为字符串c的价值。
比如,字符串c=ACGTTTGCAT的价值为5,因为将该串分成两半得到u=ACGTT,V=TGCAT,重新排列后可以使得u=v,即最长公共前缀为5。
你需要求出所有可能的c中价值最大的字符串,输出这个最大价值即可。 输入描述: 第一行一个整数T(T &le 500)。 接下来2T行,每行一个字符串,每两行代表一对字符串a和b(|a|,|b|<=100,000;∑(|a|+|b|)<=500,000),字符串的字符集为{A,C,G,T}。输入样例: 2 ACGT ACGT AACCGGTT ACACAGAT 输出描述: 对于每组数据输出一行,一个整数表示价值最大的c的价值。输出样例 4 7
黑白树
你需要通过一系列操作使得最终每个点变成黑色。每次操作需要选择一个节点i,i必须是白色的,然后i到根的链上(包括节点i与根)所有与节点i距离小于k[i]的点都会变黑,已经是黑的点保持为黑。问最少使用几次操作能把整棵树变黑。 输入描述: 第一行一个整数n (1 &le n &le 10^5) 接下来n-1行,每行一个整数,依次为2号点到n号点父亲的编号。 最后一行n个整数为k[i] (1 &le k[i] &le 10^5) 样例解释: 对节点3操作,导致节点2与节点3变黑 对节点4操作,导致节点4变黑 对节点1操作,导致节点1变黑输入样例: 4 1 2 1 1 2 2 1 输出描述: 一个数表示最少操作次数输出样例 3
景区路线规划
景区被描述成一张n个点、m条边的无向图(无重边,无自环)。每个点代表一个景点,第i个景点游览需要耗费ci分钟,会让男性游客和女性游客的满意度分别增加h1i和h2i(满意度初始值都为0)。每条边代表一条路,第i条边连接编号为xi,yi的两个景点,从景点xi走到yi和从yi走到xi的时间都是ti分钟。
每个游客在景区中最长可以游览k分钟,最开始会随机的通过不同大门进入到一个景点开始游览,每游览完一个项目,游客会等概率随机选择一个可以从当前景点直达且来得及游览的景点作为下一个游览目标(已经游览过的景点也会因为有各种新活动而让游客再次考虑,所以我们这里不区分景点是否已经游览过)。如果游览完一个景点后,周围没有来得及游览的景点,本次游玩就结束了。
请你分别计算小y和妹子在游玩结束后开心度的期望。 输入描述: 第一行给出三个空格隔开的整数,分别表示n, m, k(0 < n &le 100, 1 * 60 &le k &le 8 * 60) 接下来的n行,每行三个空格隔开的整数,分别表示ci, h1i, h2i (10 &le ci &le 60,0 < h1i, h2i &le 100) 接下来的m行,每行三个空格隔开的整数,分别表示xi, yi, ti (0 < ti &le 15)输入样例: 5 4 60 25 12 83 30 38 90 16 13 70 22 15 63 50 72 18 2 1 7 3 1 7 4 3 1 5 3 10 输出描述: 两个用空格隔开的实数,分表表示小y和妹子开心度的期望,精确到小数点后5位。输出样例 39.20000 114.40000
模
接下来T行,每行四个正整数a,b,c,k(1 &le a &le 10^18 2 &le k &le 10^18 0 &le c < b &le 10^18)表示一个询问,所有输入都是十进制的。输入样例: 2 3 9 5 10 7 3 1 10 输出描述: 对于每组数据输出一行,Yes表示存在,No表示不存在。输出样例 No Yes
送外卖2
美团外卖日订单数已经超过1200万,实时调度系统是背后的重要技术支撑,其中涉及很多复杂的算法。下面的题目是某类场景的抽象。
一张 个点
条有向边的图上,有
个配送需求,需求的描述形式为(
),即需要从点
送到
, 在时刻
之后(包括
)可以在
领取货物,需要在时刻
之前(包括
)送达
,每个任务只需完成一次。 图上的每一条边均有边权,权值代表外卖配送员通过这条边消耗的时间。在时刻
有一个配送员在 点
上,求他最多能完成多少个配送任务。
在整个过程中,我们忽略了取餐与最后给用户递餐的时间(实际场景中这两个时间是无法省略的),只考虑花费在路程上的时间。另外,允许在一个点逗留。