本文内容遵从CC版权协议 转载请注明出自: http://blog.csdn.net/masterluo
有一个等边三角形,把每条边N(N<500000)等分之后,求可以组成的不同的凸六边形的数目(结果非常大,只要输出%1000000007的结果)。关于等分后的三角形状如下图:
如N=4时,有七个不同的凸六边形,如下图所示。
这是上次TC比赛中的一道题,个人觉得这道题是最有趣的也有最有难度的一道题,思索良久却始终不得要领。后来在高人的提示下终于有所进展,遂写下此文以作纪念。看到的朋友也可以在闲睱时间考考别人^_^。
这道题的突破口是要意识到每个凸六边形都可以包含在一个正三方形之中,且那个正三角形的每个角都被剪掉了且每个边都至少剩下了些。从上面的图中我们也可以看出来。问题到这里似乎己经有一个突破口了。因为对于一个N等分的三角形来说,不同边长的三角形是可以接到得到的。三是如图中的四等分的三角形,边长为3的三角形有4个,边长为4的三有一个。五等分呢?边长为3的三角形有6个,边长为4的三角形有3个,边长为6的三角形为1个。当然注意到这里的边长指的是划分的一个单位。现在找到规律了吧?边长为3的三角一共会sigm(1+2+3+…+(N-3))(N>2)。边长为4的三角形有sigm(1+2+3+…+(N-4))(N>3)个。
现在的问题回到原来的问题上来,似乎还有一个难题没有被解决,那就是边长为N的三角形剪掉不同且在每边上都留下一段没剪掉的边的角会有多少个不同的凸六边形呢?假设剪去的三个角的边长依次是a,b,c,图形如下: