牛客IOI周赛16-提高组 - 像鱼
像鱼
https://ac.nowcoder.com/acm/contest/5388/A
题意
将边长为 的如图三角形倒转,求最小移动点数。
* * * * * * => * * * * * *
算法()
将前后两个三角形叠起来,答案即为 总点数-重叠点数=原三角形的(上+左下+右下)非重叠点数。(+ 表示重叠,*表示原三角形,-表示倒转的三角形)
* * * * => + + - * * * * + + -
可以发现,当三个三角形边长最接近时,移动数最小。因此,可以发现以下方案:
- 上方的非重叠三角形边长:
- 左下的非重叠三角形边长:
- 左下的非重叠三角形边长:
这组式子可以通过如下图推出:
先确定 ,接近三分之一的边长,再使 最接近。