导演专访 |设置 9(校内)
赶上火车
你正走下自动扶梯去赶地铁。自动扶梯本身以每分钟五米的速度移动。您可以以每分钟 Vy 米的相对速度走下自动扶梯。自动扶梯的长度为 L 米。火车相隔 T 分钟到达。如果您在自动扶梯上静止不动,则将 t 设为您到达车站与到达前末班火车到达之间的时间。假设 t 是一个随机变量,均匀分布在 0 和 T 之间。如果您选择走下自动扶梯而不是静止不动,则返回赶上较早火车的概率。
输入 :
输入的第一行包含一个整数 Tc,表示测试用例的数量。
每个测试用例包含以下 4 行
Ve——自动扶梯的速度
Vy – 您与自动扶梯的相对速度
L——自动扶梯长度
T - 火车的时间段
输出
对于每个测试用例,输出一行,其中包含绝对或相对误差小于 10^-6 的预期概率。
约束
0 <= Tc <= 5 * 10 ^ 7
1 <= Ve <= 1000
1 <= Vy <= 1000
1 <= L <= 10 ^ 5
1 <= T <= 10 ^ 6
例子
输入:
2
10
10
20
2
10
10
100
4
输出:
0.5
1.0
解释
示例案例 1. 如果您静止不动,您需要 20/10 = 2 分钟才能到达自动扶梯底部。如果你选择步行,它会让你 20/(10+10) = 1 分钟。在第二种情况下,您可以节省 1 分钟,在 50% 的情况下,它可以让您赶上更早的火车。
示例案例2.这里,如果您选择步行而不是静止不动,您将节省5分钟,并且您一定会保证赶上更早的火车。
太妃糖盒
你有 N 个太妃糖包,每个包包含不同数量的太妃糖。第 i 个数据包中包含的太妃糖的数量用 ci 表示。您需要将这些太妃糖包放入 M 个盒子中,使得每个盒子至少包含一个太妃糖包,并且一个盒子中的最大太妃糖数量最少。
您只能选择连续的太妃糖包放入一个盒子中。
输入
输入的第一行包含一个整数 T,表示测试用例的数量。
每个测试用例的第一行包含两个空格分隔的整数 N、M,分别表示太妃糖包的数量和盒子的数量。每个测试用例的第二行包含 N 个空格分隔的整数 c1、c2、...、cN,其中 ci 表示第 i 个太妃糖包中太妃糖的数量。
输出
对于每个测试用例,输出一行,其中包含一个框中最大数量的太妃糖。此外,如果无法将太妃糖包分配到盒子,则输出 -1。
约束
1 <= T <= 20
1 <= N,K <= 100000
1 <= ci <= 1000
例子
输入:
1
4 2
10 3 5 7
输出:
13
解释
下面是太妃糖包到盒子的可能分配。
1. 10 [3 5 7]
2. 10 3 [5 7]
3. 10 3 5 [7]
为了最小化盒子中的最大太妃糖数量,我们选择第二个分配,因此输出应该是 13
猜你的出路
Amr 购买了一款新的视频游戏“Guess Your Way Out!”。游戏的目标是从迷宫中找到一个看起来像高度为 h 的完美二叉树的出口。玩家最初站在树的根部,树的出口位于某个叶节点。
让我们索引从左到右从 1 到 2^h 的所有叶节点。出口位于某个节点 n,其中 1 <= n <= 2^h,玩家不知道出口在哪里,所以他必须猜测自己的出路!
Amr 遵循简单的算法来选择路径。让我们考虑无限命令字符串“LRLRLRLRL…”(由交替的字符'L'和'R'组成)。 Amr 使用以下规则顺序执行字符串的字符:
1.字符'L'表示“到当前节点的左孩子”;
2.字符'R'表示“到当前节点的右孩子”;
3.如果目的节点已经被访问过,Amr跳过当前命令,否则移动到目的节点;
4.如果Amr跳过了两个连续的命令,他会回到当前节点的父节点
5. 在执行下一条命令之前;
6.如果他到达了一个不是出口的叶子节点,他返回到当前的父节点
节点;
7. 如果他到达出口,则游戏结束。
现在 Amr 想知道,如果他遵循这个算法,在到达出口之前他要访问多少个节点?
输入
第一行包含 T 测试用例的数量
接下来的 T 行包含 2 个整数 h,n
输出
输出 T 行,每行包含一个整数,表示 Amr 在到达出口之前将按照此算法访问的节点数(不包括出口节点)。
约束
1 <= T <= 10
1 <= h <= 50
1 <= n <= 2^h 示例输入:1 2 2 输出:2 解释示例案例 1. Amr 将访问第一个根节点,然后访问根->左节点,然后访问根->左->右节点,即出口。因此在到达出口之前访问了 2 个节点