这波总体还行,四题+罚时大概在铜牌区前部分, G题如果莽几波或许能过, 感觉还是要多刷题才行= =
F - Heron and His Triangle (00:52)
给定一个n,求一个最小的t满足$t \geq n$且长度为t-1, t, t+1的边组成的三角形面积为整数。
打了前面一部分表,用BM推出公式后上Java秒了。
Code:
1 | import java.io.*; |
G - Infinite Fraction Path (Upsolved)
给定n结点的有向图,每个点有一个数字$Di$且仅有一条出边,问从哪个结点出发经过n个点后,路径上数字相连组成的数字最大
Solution:
想了好久的贪心都觉得会TLE, 结果一看题解居然是bfs+剪枝过的= =
Code:
1 |
|
I - Little Boxes (00:07)
签到题, 求$a+b+c+d$就好,不过数据刚好爆ull,上了一波Java。(long double 也可过)
Code:
1 | import java.io.*; |
K - Rabbit (00:32)
有n只兔子,最外侧的兔子可以跳到任意两只其他兔子中间(不能重合), 问最多能跳多少次。
显然最优策略是全部往左跳or全部往右跳,两者取最优即可
Code:
1 |
|
L - Tree (01:43)
给定一棵有n个结点的树,你可以把任一结点染成给定的k种颜色中的任意一种,设$Ei$为使所有颜色为i的结点相连的最小边集,求最大的$E1 \bigcap E2 \bigcap … \bigcap Ek$的size
Solution:
只要使所有子树大小大于等于k的结点相连,所使用的边集即为所求。
(代码写得有点丑,看网上题解的dfs很流畅的样子。)
Code:
1 |
|
M - Wandering Robots(Upsolved)
n * n的棋盘上有一个机器人,初始在(0, 0)处,每秒都会等概率地往四周完好的格子移动or不动,问机器人最终在一个满足$x + y \geq n - 1$的格子(x, y)上的概率
Solution:
棋盘四角的格子权值置为3, 四条边界上的格子置为4, 中间的置为5, 然后将坏格子的权值置为0,
它四周的格子权值减1(若大于0), 然后将符合条件的格子权值加起来,除以整个棋盘的权值和就可以了。
Code:
1 |
|