sicily 1137 河床 (二分分治)
《计算机算法设计与分析》啃书中。。。
有点看不进书,就来刷个水题吧,刚开始看错题了还。
注意:是所有测量点相差均不大于di而不是相邻两点。。。
1 //1137.河床 2 #include <iostream> 3 using namespace std; 4 5 int max_length(int d[], int l, int r, int m) { 6 //计算最大长度并返回 7 //d为保存高度的数组 8 //l为下标左界 9 //r为下标右界 10 //m为最大高度差 11 if (l==r) return 1; 12 if (l==r-1) { 13 if ((d[l]-d[r]<=m)&&(d[l]-d[r]>=-m)) return 2; 14 else return 1; 15 } 16 //二分 17 int mid = (l+r)/2; 18 int lm = max_length(d,l,mid,m); 19 int rm = max_length(d,mid+1,r,m); 20 int mm = 1; 21 int min , max; 22 min = max = d[mid]; 23 for (int i = mid-1; i >= l; i--) { 24 if ((d[i]>=max-m)&&(d[i]<=min+m)) { 25 ++mm; 26 if (d[i]<min) min = d[i]; 27 else if (d[i]>max) max = d[i]; 28 } 29 else break; 30 } 31 for (int i = mid+1; i <= r; i++) { 32 if ((d[i]>=max-m)&&(d[i]<=min+m)) { 33 ++mm; 34 if (d[i]<min) min = d[i]; 35 else if (d[i]>max) max = d[i]; 36 } 37 else break; 38 } 39 //返回最大值 40 return (lm>rm?lm:rm)>mm?(lm>rm?lm:rm):mm; 41 } 42 43 int main() { 44 int n, m; 45 cin>>n>>m; 46 int d[n]; 47 for (int i = 0; i < n; i++) cin>>d[i]; 48 cout<<max_length(d,0,n-1,m)<<endl; 49 return 0; 50 }
也不知道我是不是写的有点麻烦。。。
转载于:https://www.cnblogs.com/zmj97/p/5431888.html
sicily 1137 河床 (二分分治)相关推荐
- 2019牛客暑期多校训练营(第一场) A Equivalent Prefixes ( st 表 + 二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ...
- Looksery Cup 2015 F. Yura and Developers(单调栈+二分+分治)(难*)
题目链接 题意:给定一个数组,问有多少区间满足:去掉最大值之后,和是k的倍数. 思路:日后补. #include<bits/stdc++.h> using namespace std; t ...
- sicily题目分类
sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...
- [sicily]部分题目分类
sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...
- Sicily 题目分类
依照自己水平挑着做→ →~~ 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 ...
- 中大SICILY分类
原文出处:http://linguifan2010.blog.163.com/blog/static/1315127442010102131322482/ ********************** ...
- Soj题目分类 python代码)
正值期末复习,刷点soj放松下 但想看看能不能在找点关于数据结构的题目来做一下. 在网上看到有不少人上传过那些关于部分SOJ题目的描述,但是说实话有些乱 不过我看到有个网页中包含的一个类似文档的东西, ...
- 编程题目分类(剪辑)
1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. 模拟 12. 算术与代 ...
- 初学者acm的练习题指南
上机练习题参考题 忘了在哪找的啦~~希望对大家有帮助呦 <!--[if !supportLists]-->1. <!--[endif]-->Programming Bas ...
最新文章
- java cutdown_Java并发程序入门介绍
- waf可以查看post请求吗_WAFNinja:一款绕过WAF的渗透工具
- 如何实现可以获取最小值的栈?
- 让Win32窗口程序拥有控制台窗口
- 华为笔记本Win11更新时由于驱动问题引起蓝牙鼠标经常断开问题解决方法
- Echarts数据可视化legend图例,开发全解+完美注释
- LINUX加载库时与WINDOWS有何不同
- 关于添加文件删除权限
- Flash:Flash动画设计案例集合(广告条制作/遮罩动画/扫光动画/书法手写遮罩动画)图文教程之详细攻略
- 从0到1搭建大数据平台之数据采集篇
- radon变换(c++、OpenCV实现)
- 什么是cosmos?
- 计算机新建里没有word,电脑新建中没有word和excel怎么回事
- 挑选微信h5开发制作公司的标准是什么?
- PyQt5 密码输入框
- 微信小程序计算时间差
- 计算机软件和应用审稿可以加急吗,计算机类期刊审稿周期
- 树莓派3B+神经计算棒实时人脸追踪机器眼
- 安润网提供的游戏下载,您可以到安润网的论坛中下载,无须注册。
- win打印显示打印服务器错误,由于打印机的当前设置有问题,windos无法打印_由于打印机设置word无法打印解决方法...
热门文章
- CSS3 keyframes动画实现弹跳效果
- Python 继承标准类时发生了什么
- 简述java异常处理机制
- IOS 总结:NSArray,NSSet,NSDictionary
- shiro登陆流程源码详解
- 被coding.net坑了, Git 动态Pages要停掉...
- 树状数组模板1——单点修改区间查询
- Win8Metro(C#)数字图像处理--2.12Sobel边缘检测
- ava RMI 框架(远程方法调用)
- js中的hasOwnProperty和isPrototypeOf方法