- chjshen 的博客
2023威海市中小学生编程挑战赛小学组解题思路
- 2023-4-21 10:31:49 @
T1:
题目大意:
乌龟速度 x ,先跑 t 时间,兔子速度 y,求乌龟能赢或同时到达的赛道距离的最大整数。
思路
设同时到达时的距离为 a,则有以下关系式
$$a = t \times x + \frac {t \times x}{y - x} \times x $$直接代入求解即可,注意,这里的数全部定义为浮点数,此时的 a 向下取整即答案。
T2:
题目大意
给出两个整数 n 和 k,求出 中连续 k 个数的和为平方数的个数。
思路
朴素想法,从1开始到 k 个数求和,再从2开始到k个数求和,... ,然后把和判断是否是平方数即可得大部分分数。此做法可以进一步优化,可以用前缀和或等差数列公式优化求k个数的和,用sqrt优化是否平方数,此题也有其他的合理的思路,比如滑动窗口的思想等。
T3:
题目大意
在 的围棋盘的交叉点任选两点 A,B,求连接 A、B 的线段穿过多少交叉点,A、B也算在内。
思路
分情况讨论即可:
- AB两点在竖线上或横线上,直接不同的两数相减即可。(能得部分分数)
- 不是1的情况可以考虑直线方程
给了两个点的坐标,那么就可以求出 k 和 b 进而得到此直线方程,在两点间枚举x,判断y是否是整数即可。 3. 数据范围中有例如两点是正方形对角上的两点等特殊性质,也可以单独特判得分。