被打脸的潇洒哥(推递推式)
链接:https://ac.nowcoder.com/acm/contest/318/M
来源:牛客网
在一次青青草原ACM个人赛中,潇洒哥被喜洋洋以30s罚时压制,委屈的当了个第二。潇洒哥蹲在角落说出了他的口头禅,并画起了圈圈。
突然,他想出了一个有趣的题目,跑去给喜洋洋做。喜洋洋看到题目后懵逼了,但是看到潇洒哥脸上欠揍的笑容就不爽,暗想一定要做出来狠狠的打潇洒哥的脸。
于是,他以上厕所为名义跑出来用手机把题目发给了你,希望你能帮你做出来让他可以嘲讽潇洒哥。
你收到的题目如下:
平面上有n个圆,求使这n个圆两两相交(即每两个圆之间恰好有两个交点)后最多能把平面划分成多少个区域。
输入描述:
一个正整数t,表示有t(1≤t≤100)组数据。 接下来t行,每行一个整数n(0≤n≤1000),代表平面内圆的个数。
输出描述:
输出共t行。每行一个正整数,表示对应的n个圆将该平面划分成的最大的区域数。
示例1
输入
复制
3 1 2 3
输出
复制
2 4 8
说明
第一个样例,平面只有一个圆,此时将平面划分成圆内和圆外两个区域;
第二个样例,平面上有两个圆,两圆相交可以将平面划分成四个区域(见下图)。
题解:我是根据交点来推的,1个圆为0个交点,2个圆为2个交点,3个圆为6个。。。。。然后就可以推出来每次在原来的基础上多了(n-1)*2个交点,也就是多了这么多的交点,这个题的坑点在于0,一开始的提交没考虑到0个圆,第二次想错了,以为0个的时候平面是0,其他基本很简单
代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>using namespace std;int main()
{long long int sum[1005]={0};sum[0]=1;sum[1]=2;for(int t=2;t<=1000;t++){sum[t]=sum[t-1]+(t-1)*2;}int T;cin>>T;//int a[105];for(int t=0;t<T;t++){int n;scanf("%d",&n);printf("%lld\n",sum[n]);}return 0;
}
转载于:https://www.cnblogs.com/Staceyacm/p/10781870.html
被打脸的潇洒哥(推递推式)相关推荐
- OJ2755神器的口袋 普通递归+递推+递推滚动数组
代码如下: import java.util.Scanner; //神器的口袋 public class OJ2755 { static int[] weigth; static int[][] re ...
- 希希的多项式(推递推式)
链接:https://ac.nowcoder.com/acm/contest/316/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言2621 ...
- 常见算法思想2:递推法
递推法 递推算法犹如稳重的有经验的老将,使用"稳扎稳打"的策略,不断利用已有的信息推导出新的东西. 在日常应用中有如下两种递推算法: (1)顺推法:从已知条件出发,逐步推算出要解决 ...
- C++ 递推与递归算法
递推 递推的基本思想:根据已有信息推出未知信息 递推解题思路: 数学建模 找出递推式与初始条件 青蛙跳台阶 剑指 Offer 10- II. 青蛙跳台阶问题 一只青蛙一次可以跳上 1 级台阶,也可以跳 ...
- 【递推】 铺砖2!!!
铺砖2 序言 这篇博客我还是准备讲一讲递推这个板块的题.反正我是觉得基本上所有的递推题只要找到了递推式,那都是小case. 题目 现在上题: 题目描述 对于一个2行N列的走道.现在用1 * 2,2 * ...
- 基本最小二乘到递推最小二乘
基本最小二乘到递推最小二乘 基本最小二乘(LS) 先导知识: 从函数出发 残差 梳理 推导 基本思想: 开始推导 递推最小二乘法 背景 前N个输入输出数据 开始递推 递推优化 结论 Matlab 示例 ...
- 浅谈斐波那契数列——从递推到矩阵乘法
说在前面 相信大家都已经知道这个中外著名的费波纳切数列了吧,关于费波那契数列有很多有趣的性质,但我们这里不讲,在这里我们只是利用斐波那契数列来引出另一个神奇的东西,矩阵乘法,递推在这里是起一个对比与铺 ...
- 递推与递归算法(兔子问题 C语言)
递推 递推思想跟枚举思想一样,都是接近人类思维方式的思想,甚至在实际生活具有比枚举思想更多的应用场景.人脑在遇到未知的问题时,大多数人第一直觉都会从积累的「先验知识」出发,试图从「已知」推导「未知」, ...
- 4.04Day14递推、三元表达式、列表/字典推导式、匿名函数
复习:1.迭代器:不需要索引的取值方式2.生成器:通过特殊的语法自定义的迭代器3.枚举对象:为可迭代对象创建索引(按照迭代的顺序创建索引) 迭代器对象:装有多个值的容器 1. 可用通过.__next_ ...
最新文章
- java redis 命名空间_redis里通过命名空间存储缓存,根据结构生成树型
- vmlite linux版本,vmlite 安装 xp mode及xp、win7、linux的虚拟磁盘到d盘的方法
- NET问答: 如何在 dynamic 集合上使用 Linq ?
- PAT乙级(1017 A除以B)
- JSK-58 合法回文【字符串】
- datetime 比较_MySQL时间类型datetime,timestamp,int如何选择,很多程序员收藏了
- 分享Silverlight/WPF/Windows Phone一周学习导读(4月18日-4月23日)
- ActivityGroup简介
- Matlab入门1(有手就行)
- 机械专业向机器人工程专业转型的可行性与前景分析
- 软件测试-面试题(基础+性能)
- Thingworx自定义扩展开发(三)- echarts集成
- 【STM32+cubemx】0020 HAL库开发:以太网ENC28J60芯片和TCP、UDP简单应用
- 来自Facebook的KTLS Kernel SSL/TLS 原理和实例
- 【SlowFast复现】SlowFast Networks for Video Recognition复现代码 使用自己的视频进行demo检测
- FairGuard anti-cheat 反外挂方案解析
- 如何去掉ppt模板中自带的背景音乐(没有小喇叭)
- 【前端之路】通过css让移动端与pc端自适应
- Android:判断App是否是首次focuse
- Python 队列之传土豆(《Python数据结构与算法分析》第二版)