#include <stdio.h>
int main(){
int n;
int m;
int i;
long long list[10001];
scanf("%d",&n);
while (n--)
{
scanf("%d",&m);
list[0]=2;
list[1]=7;
for ( i = 2; i < m; i++)
{
list[i]=list[i-1]+4*(i+1)-3;
}
printf("%d\n",list[m-1]);
}
return 0;
}
本题核心是发现递推规律:怎么发现?这个是数学的问题了(捂脸)
下面放论文,要理解折线怎么分割最多,先要了解直线怎么分割最多:
看完论文后,再结合折线相当于两直线相交被分成四部分直线再减去两部分,而在论文中已经知道了“直线被分成多少部分”与分割平面数的关系,进一步自己思考可以得到递推关系(我懒得写了,待续)