SGU135 Drawing Lines
2015-06-14 15:31
225 查看
SGU135 Drawing Lines
题目大意
问N条直线最多能把平面划分为多少个区域算法思路
当平面上有N条直线时,再画一条直线会多出N+1个区域因此,fN+1=fN+N+1f_{N+1} = f_{N} + N + 1
不难得出通项公式,fN=N(N+1)2+1f_{N} = \frac{N(N + 1)}{2} + 1
时间复杂度: O(1)O(1)
代码
/** * Copyright © 2015 Authors. All rights reserved. * * FileName: 135.cpp * Author: Beiyu Li <sysulby@gmail.com> * Date: 2015-06-14 */ #include <bits/stdc++.h> using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define For(i,s,t) for (int i = (s); i <= (t); ++i) #define foreach(i,c) for (__typeof(c.begin()) i = c.begin(); i != c.end(); ++i) typedef long long LL; typedef pair<int, int> Pii; const int inf = 0x3f3f3f3f; const LL infLL = 0x3f3f3f3f3f3f3f3fLL; int main() { int n; scanf("%d", &n); printf("%d\n", (n & 1? (n + 1) / 2 * n: n / 2 * (n + 1)) + 1); return 0; }
相关文章推荐
- android dns解析
- 最小生成树
- 【Android】进度条与线程之间的消息处理
- 归并排序的实现
- Android 4.4 AMS 学习笔记
- wpf下实现简单截图
- 线段树
- 第三节:反射的性能
- 使用JSON数据格式模拟股票实时信息
- [写代码]处理一组lrc歌词文件
- 黑马程序员——JAVA集合
- model 键值对
- 协议栈资料收集和大牛经验收集----阿冬!!!
- Linux内存管理
- Java安全之SSL/TLS
- 踏得网
- Principle of Computing(1)
- 如何开发一个java开源框架-----Jvn框架之实现用注解代替配置文件
- 19 Remove Nth Node From End of List(去掉链表中倒数第n个节点Easy)
- linux基本命令-mysql命令