[递归][DP]n条直线最多分平面为几部分?
51nod 3035 划分平面
链接https://www.51nod.com/Challenge/Problem.html#problemId=3035
用n条直线,划分平面,最多能够划分为多少块?
例如:
1条可以划分为2块
2条可以划分为4块
3条可以划分为7块
输入
共一行:1个数n(1≤n≤10^9)
输出
输出共1行,对应划分的数量 Mod 10^9+7
数据范围
对于20%的数据,1≤n≤10;
对于44%的数据,1≤n≤20000;
对于100%的数据,1≤n≤10^9;
输入样例
3
输出样例
7
分析
递归
f(n)=2,when n=1
f(n)=f(n-1)+n,when n>1
递推
2+2+3+4+...+n=1+1+2+3+...+n=1+n*(n+1)/2
想用递归来写,这样会超时
记忆化递归呢?数组得开很大,空间花销太大
从记忆化递归到用动态规划dp来写,估计也不能全过,看看效果
代码如下
#include<iostream>
#include<string>
#include<cstring>
#include<vector>
using namespace std;const long long maxn=1e9+7;long long split(int n){long long dp[n+1];dp[1]=2;for(int i=2;i<=n;i++)dp[i]=i+dp[i-1];return dp[n];
}
int main(){int n;cin>>n;long long result=split(n);cout<<result%maxn;}
好了,直接说公式1+n*(n+1)/2
,这个直接AC
注意类型long long
#include<iostream>
using namespace std;const long long maxn=1e9+7;int main(){long long n;cin>>n;long long result=1+n*(n+1)/2;cout<<result%maxn;}
[递归][DP]n条直线最多分平面为几部分?相关推荐
- n条直线最多将平面分成几部分
n条直线最多将平面分成几部分 1条直线:2部分 2条直线:4部分 3条直线:7部分 4条直线:11部分 - 由此可见,有递推公式: 当n = 1时,f[1] = 2 当n > 1时,f[n] = ...
- n条线分平面问题解决方法总结
注明出处,摘自 http://www.cnblogs.com/chaosheng/archive/2012/01/26/2329583.html (1) n条直线最多分平面问题题目大致如:n条直线,最 ...
- 思维拓展:直线分平面问题
问题描述 在平面上画一条直线,可以将平面分成两个部分.如果再画一条直线,则最多将平面分成4部分.依次类推,3条直线最多将平面分成7个部分,那么100条直线最多将平面分成多少个部分? 解题思路 从直线较 ...
- n条直线相交最多有几个邻补角_【初中数学】102条做初中几何辅导线的规律
今天给大家整理的是[初中数学]102条做初中几何辅导线的规律 资料如果能帮到你,希望你可以帮忙点赞-感谢-收藏支持一下! 若你需要下载word来打印,可以查看我的个人简介,上面有资料下载方式. (资料 ...
- n条直线相交最多有几个邻补角_【东升二中数字课堂】创意微课直线的交点|Super数学璐...
感谢您关注洛阳东升二中官方微信!如果您尚未关注,请点击图片上方的文字"洛阳市东升第二中学",加关注! 课题名称 | <直线的交点> 授课教师 | 王璐 制作团队 ...
- LeetCode149. 直线上最多的点数: 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。
给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上. 示例 1: 输入: [[1,1],[2,2],[3,3]] 输出: 3 解释: ^ | | o | o | o ±------- ...
- 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。
需求:给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上. 分析思路: 1.将所有点二维坐标化,即定义出所有点的x,y坐标值 2.遍历出所有取出两点的情况(不考虑先后顺序),根据任意 ...
- 每天一道LeetCode-----平面上n个点,计算最多有多少个点在一条直线上
Max Points on a Line 原题链接Max Points on a Line 给出2D平面中的n个坐标点,计算最多有多少个点在一条直线上 一条直线可以用斜率表示,即如果已知(x1,y1) ...
- 判断平面上两条直线是否相交
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 判断平面 ...
最新文章
- tensorflow.python.framework.errors_impl.InvalidArgumentError: 2 root error(s) found.
- JavaScript 开发者最期待的年度大会,惊喜不断,错过还要等好久!
- Python ConfigParser的使用
- python基本语句及其意思_Python语法基础(1),一
- 躺平,躺下就能赢吗?
- 剑指 Offer 55 - I. 二叉树的深度
- Mongodb在windows下通过配置文件配置和访问
- 网络协议和Netty
- EF安装和更新数据库
- “姑娘好像花儿一样”如何英译
- 腾云驾雾了解Windows10和微软私有云
- 修复Word打开文档默认显示两页的问题
- Linux【实操篇】—— 进程管理、服务管理、软件包管理(rpm、yum)
- 迅雷android面试,迅雷面试题(转载)
- 新浪邮箱界面登录按钮效果制作
- scikit-learn 线性回归算法库小结
- 浅谈高速公路服务区分布式光伏并网发电
- 对你来说,哪一个深度学习网络是最佳选择?(2)
- 2019年南京大学计算机研究生复试分数线,2019南京大学研究生分数线汇总(含2016-2019历年复试)...
- 大数据是人类福音还是洪水猛兽?
热门文章
- [Android]Android端ORM框架——RapidORM(v2.1)
- [原]ubuntu14.04 网卡逻辑修改没有文件/etc/udev/rules.d/70-persistent-net.rules
- mysql性能优化-慢查询分析、优化索引和配置
- Logistic Regression and Classification
- C#.NET 通用权限管理系统组件 大数据多表分页获取部分列的参考方法
- ASP.NET 快乐建站系列–2. Rad Controls 简介
- linux网络编程常用函数详解与实例(socket--bind--listen--accept)
- raid5坏了一块盘怎么办_服务器阵列信息丢失,数据怎么办?先不要慌,也许很快就能恢复...
- 为什么分类对象越多训练时间越长?
- 中秋祝福网页制作_10大中秋H5模板分享,助力吸粉10000+