9.12 模拟赛简要回顾

T1:

该出一个正 \(n\) 边形,边长为 \(a\),每个顶点上一开始都有一个移速为 \(v\) 的点,按顺时针依次标号为 \(1\sim n\)。从 \(0\) 时刻开始,每个点 \(i\) 都会朝点 \(i\bmod n+1\) 运动,移动方向随着点 \(i+1\) 的位置变化而变化,最终所有点都会同时到达正 \(n\) 边形的中心,求花费的时间。

用到了物理的一些知识。考虑相邻的两个点 \(i\) 和 \(i\bmod n+1\),将 \(i\bmod n+1\) 的速度分解成 \(v_1\) 和 \(v_2\),\(v_1\) 在 \(i\) 与 \(i\bmod n+1\) 所在的直线上,\(v_2\) 垂直于 \(i\) 与 \(i\bmod n+1\) 所在的直线。我们可以通过三角函数中的 \(\cos\) 算出 \(v_1\) 的速度,然后 \(i\) 向 \(i\bmod n+1\) 运动的方向与 \(v_1\) 的方向相同或相反,是个相遇或追及问题。在任意时刻,两点都是这么行动的,而两点在最终汇集到中心之前不会相遇。所以上面这个问题的时间就是最终的时间。

上一篇:shell中运算:加 减 乘 除 求模(取余数)


下一篇:五、Shell的变量之五变量的算数运算