Problem N

简单题意

求n条折线分割平面的最大数目。

解题思路形成过程

拿到这个题的时候,就联想起,高中的时候听过自主招生的题,其中有一道题就是,用直线分割平面最大区域数(听说当年华罗庚出了一个用直线分割空间的题),这个其实就是递归,直线的情况是若要加上第n根直线分割最多,就要让n-1根分割最多的情况下,让第n根直线,与前面的n-1根直线都有交点,递推关系就出来了,折线的情况也是类似,麻烦的就是求出第n个折线增加的数量,当增加第n条拆线时,此时与图形新的交点最多有2*2(n-1)个,这样就多出了2*2(n-1)+1个面。

感想

又忘了int盛不下大数尴尬,虽然自主招生的学的知识没用上,但是ACM用上了,就是这么巧,学习知识不能抱着功利心,万一哪天用上了呢。。大笑

AC代码

#include<iostream>
#include<stdio.h>
#include<fstream>
using namespace std;
int main(){
    int t,n;
     __int64 a[10005];
    a[1]=2;
    for(int i=2;i<=10000;i++){
        a[i]=a[i-1]+4*(i-1)+1;
    }
    cin>>t;
    while(t--){
    cin>>n;
    cout<<a[n]<<endl;
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值