http://acm.hdu.edu.cn/showproblem.php?pid=2050
直线分割平面的原理是 f(n)=f(n-1)+n
折线就是一次增加两条直线,但是由于另一端不能延伸,每两条比直线分割出的平面少2个。所以要减去2n。
#include <iostream>
using namespace std;
#define N 20005
__int64 num[N];
void init(){
num[0]=1;
int i;
for (i=1;i<N;i++)
num[i]=num[i-1]+i;
}
int main(){
int n,c;
scanf("%d",&c);
init();
while (c--){
scanf("%d",&n);
printf("%I64d\n",num[2*n]-2*n);
}
return 0;
}
到此把杭电上递推求解专题练习(For Beginner)都A掉了。
本文探讨了直线和折线分割平面的问题,并提供了一段C++代码来解决该问题。通过递推公式f(n) = f(n-1) + n进行计算,同时考虑到折线的特殊性,给出了具体的实现方案。
3380

被折叠的 条评论
为什么被折叠?



