码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 2050.折线分割平面

时间:2018-05-24 21:14:52      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:scan   include   自己的   get   code   amp   产生   折线分割平面   ace   

http://acm.hdu.edu.cn/showproblem.php?pid=2050

思路:直线分割平面的特殊情况

    第n个折线第时候:

  1. 折线的第一个射线与原有的(n-1)个折线的2(n-1)条边相交,产生2(n-1)-1个线段(由两个交点形成,将所在区域一分为二产生2(n-2)个新区域)和1个射线(产生1个新区域)和1个特殊的线段(由射线的起点和交点形成,这个特殊的线段在只有自己的时候不会产生新的区域,但是在与本折线的另一个射线所产生的特殊线段组合后会产生一个新区域)
  2. 折线的第二个射线与原有的(n-1)个折线的2(n-1)条边相交,产生2(n-1)-1个线段和1个射线和1个特殊的线段(与本折线的第一条射线产生特殊线段组合共同产生1个新区域)

公式
  f(n)=f(n-1)+{[2(n-1)-1+1]+[2(n-1)-1+1]+1}
        =f(n-1)+4(n-1)+1                      
        =f(n-2)+4(n-2)+1+4(n-1)+1

   ....

     =2n^2-n+1

#include<iostream>
#include<string.h>
using namespace std;
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b
__int64 dp[10005]={0};
int main()
{
    int t;    
    int a;
    scanf("%d",&t);
    while(t--)
    {
        cin >> a;
        cout << 2*a*a-a+1<<endl;
    
    }
    return 0;                 
}

 

hdu 2050.折线分割平面

标签:scan   include   自己的   get   code   amp   产生   折线分割平面   ace   

原文地址:https://www.cnblogs.com/icfir/p/9085028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!