【杭电oj】2050 - 折线分割平面(递推)
来源:互联网 发布:linux zip文件压缩 编辑:程序博客网 时间:2024/05/06 17:02
折线分割平面
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23970 Accepted Submission(s): 16310
Problem Description
我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。
Input
输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。
Output
对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。
Sample Input
212
Sample Output
27
Author
lcy
Source
递推求解专题练习(For Beginner)
这道题其实我一直很惧怕的,总是退不出规律,今天周赛,没办法,硬着头皮去推了,没想到真的做出来了。
说一下推理思路:如果想切割出最多的地域,就要和最多的线切割,每次切割总要制造两条线,则第n次切得时候,场上有 2*(n-1) 条线,与这些线每相交一次,就新形成了2*(n-1)个面,第n次切割时又是两条线去切,则新形成4*(n-1),但是这两条线是连起来的,也就是说把他们连起来的那条线还要额外再形成一个平面,所以新形成的平面的个数为:4*(n-1)+1。这个数加上之前形成的数,就得出了结果。
代码如下:
#include <cstdio>#include <algorithm>using namespace std;int main(){long long num[11111];num[1] = 2;for (int i=2;i<=10000;i++)num[i] = num[i-1] + 4*i - 3;int u;int n;scanf ("%d",&u);while (u--){scanf ("%d",&n);printf ("%lld\n",num[n]);}return 0;}
0 0
- 【杭电oj】2050 - 折线分割平面(递推)
- 【杭电-oj】-2050-折线分割平面
- 【杭电2050】折线分割平面-递推
- 杭电2050折线分割平面,递推
- 杭电OJ——2050 折线分割平面
- 杭电oj——2050折线分割平面
- 2050折线分割平面(简单递推)(折线切分平面)
- HDU 2050 折线分割平面 (递推)
- HDU 2050 折线分割平面 (递推)
- hdu 2050 折线分割平面 递推
- HD 2050 递推 // 折线分割平面
- 递推 HDU-2050 折线分割平面
- hdu 2050 折线分割平面 递推
- 折线分割平面 【hdu-2050】【递推】
- (递推)折线分割平面--HDOJ
- 折线分割平面(递推+数学)
- HDOJ 题目2050 折线分割平面(递推)
- hdu 2050 折线分割平面 (递推)
- JavaWeb开发之十一:JSP基础
- 搭建spring开发环境
- 《iOS Human Interface Guidelines》——Text View
- 蓝桥杯 翻硬币
- Android ViewPager使用详解
- 【杭电oj】2050 - 折线分割平面(递推)
- 设计模式-结构模式
- 125. Valid Palindrome
- github客户端怎样上传代码 mac
- JavaWeb开发之十二:JSP九大内置对象
- [容斥] LightOJ 1117 - Helping Cicada
- 杭电2008
- Java中的异常
- android蓝牙开发 蓝牙设备的查找和连接