| soved | A | B | C | D | E | F | G | H | I | J | K |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 8 / 11 | O | O | · | O | · | O | O | · | Ø | O | Ø |
- O:比赛时通过
- Ø:赛后通过
- !:比赛时尝试了未通过
- ·:比赛时未尝试
A - Nano alarm-clocks
solved by Sstee1XD & Tryna. 0:41(+1)
题意: 定义时分秒的进位分别为。现在给你n个时间,一次只能让其中一个时间往后走,问你让所有的时间相同所需要的时间和最短是多少。
题解: 把时间转换成秒,sort一下,找下线性规律,找到最小值。
AC代码
1 |
|
B - Lunch
solved by lllllan.(+)
题意: 连续排列的片叶子,每片叶子上有一只苍蝇。有一只青蛙在第片叶子上,按题目要求遍历所有叶子后最后到达第片叶子结束。
- 每片叶子只能到达一次,遍历过就不能再次经过。
- 只能向相邻一个单位或者两个单位的叶子跳动。
题目要求【跳动一个单位】的最小次数。
题解: 先看题目要求的几个点:
- 每片叶子必须到达且只到达一次。
- 每次移动只能到达相邻一个单位或两个单位的叶子。
- 从s出发去完所有其他叶子最后到达f。
看完条件以后,就应该发觉是一道找规律的题目了。但是我懒得一一陈述规律的发现过程了,只讲个大概和方格代码。
假设一共10片叶子,s = 3,f = 7,按照题目要求,势必先遍历s左边的叶子,然后再去其他地方。那又因为每个叶子只能去一次和移动规则的限制,向左边的移动只能是3 -> 1 -> 2 -> 4,其中有一步是跳动一个单位的。可以自己改变s的位置去发现,只要是先去完成一边,然后调回另一边的,都至少有一次【跳动一个单位】的移动。
并且该样式的移动方式则应为:
- 跳着遍历s左边的叶子
- 跳回s的右边去,遍历s-f中间的叶子
- 再跳过f去遍历f右边的叶子
三步中一三都必须完成一次【跳动一个单位】的移动,只有第二部需要去找规律,这个就不说了,自己去发现呗。
再讲两个特殊,不能完成题目要求的情况1 2 s f 5 6 7,起点终点相邻,并且两端都还有叶子,不解释了自己看。s = f可能是我没读清楚,题目没有说明s不能等于f,一旦相等,又因为,那么就一定不能完成要求。
AC代码
1 |
|
D - Ceizenpok’s formula
Solved by Sstee1XD. 0:05(+)
题意: 求 。
题解: 很大并且不保证是素数,扩展卢卡斯裸题,板子来自这里
AC代码
1 |
|
F - The Pool for Lucky Ones
Solved by all. 2:01(+7)
题意: 给你条泳道里面的人数,你可以选择一个人移动到相邻的泳道里,求所有人数最多的泳道里的人数和的最小值。
题解: 对于最大值的数量只有的情况,我们肯定只能移动人数最多的泳道里的人,判断一下能不能让最大值减小就行。
对于数量大于的,我们计算出每条泳道进行移动的所有情况下的最小值。预处理出所有值的数量即可进行计算。
AC代码
1 |
|
G - TheDress
solved by Tryna. 0:29(+)
题意: 回答中有黑和蓝的是地球人,有金和白的是i1c5l星球人,若都没有则是其他星球人,问这三种人的占比。
题解: 因为很小,所以按照题意模拟即可。
AC代码
1 |
|
I - Scrooge .net
solved by Tryna
题意: 给出一条直线和个点,要求找一个点,满足这个点在直线上并且这个点到其他点的距离和最短。
题解: 不难想到用三分来做,这题精度要求挺高的,所以用了 ,而且要注意是直线不是线段。
AC代码
1 |
|
J - Superfactorial numeral system
solved by lllllan
题意: 题目就是找到一个数列a满足题目中的公式。
题解: 无他,但贪心尔
AC代码
1 |
|
K - Microcircuits
Solved by Sstee1XD. (-)
题意: 给你一个由个元件构成的环状的电路板,问你要连条互不相交的线的情况有多少种。
题解: 使用组合数学去计算的话很难处理,所以这里采用去处理。
表示在个元件之间连条线的方案数。我们转移时可以分成两种情况,第一种不用第个元件,那么就是;第二种用第个元件,因为线不能相交,我们画一下图发现可以分成左右两幅图,由此我们想到枚举第个元件连接到第个元件,其左边的个元件连了条边,那么右边还需要个元件连条边。得到了转移方程:
AC代码
1 |
|