博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Problem N
阅读量:7250 次
发布时间:2019-06-29

本文共 769 字,大约阅读时间需要 2 分钟。

Problem Description
我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。
Problem <wbr>N

Input
输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0

Output
对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。

Sample Input
2
1
2

Sample Output
2
7
题意:略;
解题思路:
每增加一条折线,可以增加四个交点,增加N条折线会增加4*N个交点,这4*N个交点会把平面增加4*N+1个面:
       得出f[n+1]-f[n]=4*n+1;                     可以推出f[n]=2*n*n-n+1
具体见另一篇博客,关于直线,折线分割平面的问题;
代码:
#include
#include
#include
#include
#define maxn 10010
using namespace std;
long long ans[maxn];
void solve()
{
    for(int i=0;i<=10000;i++)
    {
        ans[i]=2*i*i-i+1;
        //cout<<ans[i]<<" ";
    }
}
int main()
{
    //freopen("in.txt", "r", stdin);
    int t,a;
    solve();
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&a);
        printf("%lld\n",ans[a]);
    }
    return 0;
}

转载于:https://www.cnblogs.com/wuwangchuxin0924/p/5781566.html

你可能感兴趣的文章
js处理中文乱码记录/nodejs+express error 413
查看>>
基于Keepalived实现LVS双主高可用集群
查看>>
SqlServer 使用脚本创建分发服务及事务复制的可更新订阅
查看>>
什么是Floating (浮动)规则?
查看>>
分布式文件系统-FastDFS
查看>>
HTML5 rotate 做仪表盘
查看>>
为什么说荆州松滋刘氏采穴堂是刘开七、刘广传的后裔
查看>>
React中使用Ant Table组件
查看>>
第四篇 快速、轻量、可扩展、易于使用的EmEditor
查看>>
MySQL删除小写记录
查看>>
用shell脚本收集查询IP信息的网站
查看>>
shiro整合oauth
查看>>
超级网管员——网络管理
查看>>
AjaxControltoolkit(工具包)安装步骤说明
查看>>
利用组策略进行的一次Windows主机安全整改
查看>>
Ruby语法学习笔记(1)
查看>>
Windows Phone 7 使用选择器(Chooser)
查看>>
QOS 之 WRED
查看>>
ASP.NET MVC5 知识点整理
查看>>
CCNP 640-892知识点中文精简解释
查看>>