题目:
一个边长为1的正n边形,求一个正m边形,使它的中心与正n边形的中心相同,且完全包含正n边形,使它边长最小。
20%:n|m; 20%:m|n; 100%:n,m<=1e9;
题解:
先考虑对于n|m,画图可发现它要将原来的一边变为m/n边,因为中心相同,故考虑以中心为圆心,作这两个多边形的外接圆,即可计算求得。
再考虑对于m|n,再画图可发现要将每n/m边形作切线变为m条边,同理可求得。
对于一般的数据,因为直接将n变形转化为m边形不容易做,考虑能否将问题转为前两种,那么要找出一个x,使n|x,m|x,即lcm(n,m),那么先将n转为x,再将x转为m,而这样一定是最优的,因为无论这个外接多边形如何旋转,都不可能更小。
3290: 蛋糕(cake)
最新推荐文章于 2019-07-20 19:28:24 发布