题解(附带递推公式推导过程)
2023-10-06 09:14:42
发布于:上海
25阅读
0回复
0点赞
#include<iostream>
using namespace std;
long long f[50];
int main(){
int n;
cin>>n;
f[0]=1,f[1]=2;
for(int i=2;i<=n;i++){
f[n]=1+(1+n)*n/2;
}
/*
递推过程
直线数量 点 段 分割部分
1 0 0 2
2 1 2 +2
3 2 3 +3
... ... ... ...
n n-1 n +n
点:(新增直线与原有直线交点个数)
段:(几个点分成几+1个段)
总结:画第n条直线,直线数量+1,分割的部分+n
公式:部分数=2+2+3+...+n=1+1+...+n=1+(1+n)*n/2
*/
cout<<f[n];
}
全部评论 2
古德古德
1周前 来自 四川
1终于有人带讲解了
2024-05-12 来自 广东
0
有帮助,赞一个