DP-直线分割递推
在 DP 里有一类是直线分割平面的问题 , 也是属于递推 类的 。
一 . 直线分割平面的问题
先考虑第一个小问题 :
n 条直线最多可以将平面分割成几部分 ?
想想 最优的分割方法是怎样的呢 ?
1 . 任意两条直线都不相交 。
2 . 没有三线共点的情况 。
// 但是若现在我们的直线有了互相平行的两条 , 结果则会在 最优的基础上减 1 , 若是有 3 条互相平行的直线 , 结果则会在最优的基础上 减 ( 2 + 1 ) = 3 条
考虑在前 n 条直线是最优的情况下 , 当插入第 n + 1 条直线时 , 最优的情况是这条直线会穿过 n + 1 个部分 , 则此时会在原基础上增加 n + 1 个部分 , 因为直线每穿过一部分 , 就会将它所在的平面一分为二 , 因此 , 在 n + 1 条直线时 , 总平面数是 f ( n ) + n + 1 .
因此 , n 条直线在最优的情况将平面 分为 L( n ) = ( n * ( n + 1 ) ) / 2 + 1 。
二 . V 型折线分割平面
思考 ... 是不是可以将 V 型线反向延长 ,得到两条相交的直线 ,此时演变成第一种问题的形式 , 当将其变成 V 型时 ,会使线的条数增加 1 倍 , 每变一个 V 型 , 会使平面的数目减少 2 , 则 n 个 V 型就会使其减少 2 * n 。
所以 , n 条 V 型折线 最多可以分出平面 V ( n )
三 . Z 型折线分割平面 ( 上下边是互相平行的 )
还是按照之前的方法 , 将每个顶点的直线反向延长 ,则 Z 型折现可视为 3 条直线相交 ,又因为每个 Z 型都有一组互相平行的直线 , 所以对于每个 Z 型 , 应在最优解上减 1 ,若再去掉反向延长线 , 每个 Z 型还会在最优的基础上 减 4 , 所以对于 每个Z 型应是在最优的基础上减 5
四 . M型折线分割平面 (两个角是平行的)
M 型 因为有一组平行线 , 所以每个 M 型折线的最优解 要 减 1 ,将M 的每个顶点的线反向延长 , 会得到 4 条相交的折线 , 若回归到M 型 ,则每个M型的折线会在最优的基础上 减少 8 , 所以对 每个 M 型的折线会减少 9 。
DP-直线分割递推的更多相关文章
- dp的简单递推笔记1
(1)转自rockZ的博文 UVa 10328 - Coin Toss (递推) 题意:给你一个硬币,抛掷n次,问出现连续至少k个正面向上的情况有多少种. 原题中问出现连续至少k个H的情况,很难下手. ...
- BZOJ 1677 [Usaco2005 Jan]Sumsets 求和:dp 无限背包 / 递推【2的幂次方之和】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1677 题意: 给定n(n <= 10^6),将n分解为2的幂次方之和,问你有多少种方 ...
- bzoj2004公交线路——DP+矩阵加速递推
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2004 求方案数,想到DP: 因为两个站间距离<=p,所以每p个站中所有车一定都会停靠至 ...
- poj 2229 【完全背包dp】【递推dp】
poj 2229 Sumsets Time Limit: 2000MS Memory Limit: 200000K Total Submissions: 21281 Accepted: 828 ...
- POJ 2229 sumset ( 完全背包 || 规律递推DP )
题意 : 给出一个数 n ,问如果使用 2 的幂的和来组成这个数 n 有多少种不同的方案? 分析 : 完全背包解法 将问题抽象==>有重量分别为 2^0.2^1.2^2…2^k 的物品且每种物 ...
- [bzoj1925][Sdoi2010]地精部落_递推_动态规划
地精部落 bzoj-1925 Sdoi-2010 题目大意:给你一个数n和模数p,求1~n的排列中满足每一个数的旁边两个数,要么一个是边界,要么都比它大,要么都比它小(波浪排列个数) 注释:$1\le ...
- 2018牛客网暑期ACM多校训练营(第一场)B Symmetric Matrix(思维+数列递推)
题意 给出一个矩阵,矩阵每行的和必须为2,且是一个主对称矩阵.问你大小为n的这样的合法矩阵有多少个. 分析 作者:美食不可负064链接:https://www.nowcoder.com/discuss ...
- 牛客网 暑期ACM多校训练营(第二场)A.run-动态规划 or 递推?
牛客网暑期ACM多校训练营(第二场) 水博客. A.run 题意就是一个人一秒可以走1步或者跑K步,不能连续跑2秒,他从0开始移动,移动到[L,R]的某一点就可以结束.问一共有多少种移动的方式. 个人 ...
- 动态规划-递推-HDU2048
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2048 全错=全不匹配 设当前全错的个数是dp[n] 那么前(n-1)个全错的话,第n个数就可以从前(n- ...
随机推荐
- C# 标准性能测试高级用法
本文告诉大家如何在项目使用性能测试测试自己写的方法 在 C# 标准性能测试 已经告诉大家如何使用 BenchmarkDotNet 测试性能,本文会告诉大家高级的用法. 建议是创建一个控制台项目用来做性 ...
- vue+element-ui实现分页
我使用得是el-table+el-pagination来实现的, 话不多说,直接上代码 html代码部分 <!-- table --> <el-table :data="s ...
- UTF-8、UTF-16、UTF-32编码的相互转换(不使用现成的函数)
最近在考虑写一个可以跨平台的通用字符串类,首先需要搞定的就是编码转换问题. vs默认保存代码文件,使用的是本地code(中文即GBK,日文即Shift-JIS),也可以使用带BOM的UTF-8.gcc ...
- Keras lstm 文本分类示例
#基于IMDB数据集的简单文本分类任务 #一层embedding层+一层lstm层+一层全连接层 #基于Keras 2.1.1 Tensorflow 1.4.0 代码: '''Trains an LS ...
- 第二阶段:2.商业需求分析及BRD:5.商业需求文档1
三大文档 FSD一般包含在PRD 1.BRD一般是去向决策层汇报 2.产品介绍的各项是可选的 不是必备的 产品线路图就是roodmap.团队一般是偏技术的团队. BRD案例. 痛点.定性的描述.不会非 ...
- 开发板免费领!腾讯云IoT应用创新大赛正式启动!
大赛简介 腾讯云IoT应用创新大赛是腾讯云面向物联网领域举办的大型竞赛,通过腾讯云IoT全链路产品能力,开放平台和服务,与广大开发者共同创新,孵化优秀的IoT产品和解决方案,共同构建IoT应用生态. ...
- ajax异步发送时遇到的问题
问题原因是:controller中方法名与url中的名字不一样造成的 解决办法:找到错误的方法名,将其与url中的方法名统一:
- 原生JS数组方法实现(一)————push()、unshift()、pop()和shift()
push 向数组末尾添加一个或多个元素,并返回数组新的长度 ```javascript function push(){ for(let i=0;i<arguments.length;i++){ ...
- 【题解】#6622. 「THUPC 2019」找树 / findtree(Matrix Tree+FWT)
[题解]#6622. 「THUPC 2019」找树 / findtree(Matrix Tree+FWT) 之前做这道题不理解,有一点走火入魔了,甚至想要一本近世代数来看,然后通过人类智慧思考后发现, ...
- 洛谷$P3749$ [六省联考2017] 寿司餐厅 网络流
正解:网络流 解题报告: 传送门$QwQ$ 这道题好烦昂,,,就给了好多变量,,,但仔细读一遍题还是能$get$的所以我就不再提取一遍题目大意辣$QwQ$? 显然考虑建两排点,一排收益一排支出然后最小 ...