当前位置: 首页 > news >正文

windows 网站建设asp评价网站开发文档

windows 网站建设,asp评价网站开发文档,怎么做快三一模一样的网站,网站建设与网页设计课程设计审题: 本题需要我们找到可以将木头切割至少k段的单段长度最长值 思路: 方法一:暴力解法 首先我们知道单段长度的最长值就是数组中数据的最大值max,所以我们可以遍历1~max的数据,将他们确定为l,然后计算出当…

审题:

本题需要我们找到可以将木头切割至少k段的单段长度最长值

思路:
方法一:暴力解法

首先我们知道单段长度的最长值就是数组中数据的最大值max,所以我们可以遍历1~max的数据,将他们确定为l,然后计算出当前的切割段数,若大于等于k就记录下当前的l给answer变量,当遇到不满足大于等于k的情况,我们就直接退出循环,输出结果

优化1:逆序遍历1~max

由于我们是寻找满足段数大于等于k的最大l,而l越大段数其实越小,也就是说如果我们逆序遍历,段数是逐渐增加的,l是逐渐递减的,若我们遇到段数大于等于k,此时的l就是结果

时间复杂度:O(k*n)

因为我们外层遍历的是数组数据的最大值,而这个最大值最坏的情况是1e8,内层循环需要遍历数组计算段数,最坏情况进行1e5次,所以总共运行次数可能达到1e13,,一定超时

方法二:二分答案查找

其实我们的答案l的区间就是0到1e8(特殊处理了1cm的l也无法切割足够段数的情况,将0加入到答案区间),假设我们的答案为answer,那么answer自身以及其左边区域的l的段数k'都是大于等于k的(因为他们的l小,可划分的段数就多),同理answer右边区域的l的段数就都是小于k的。

此时就体现出这个区间的二段性,我们就可以使用二分查找的方法来提高效率了,而这里是对答案区间进行二分查找,所以又叫二分答案

第一步:二分查找答案区间

判断方法:

(1)当k' >= k:left = mid

(2)当k' < k: right = mid -1

而当left = mid的时候我们需要用向上取整的计算mid方法,防止死循环(出现在left与right相差偶数个数据的情况)

当left = mid + 1的时候用向下取整,防止跳过部分情况(出现在left和right相差奇数个数据的情况)

mid计算方法:(left+right+1)/2

k'计算方法:我们可以采用遍历数组a的数据来累加计算段数的方法

第二步:输出答案

答案就是left,因为答案一定在0到max之间,left和right最后相等就是找到答案了

解题:

#include<iostream>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
int n, k;
int a[N];
//计算l的可切割段数
ll calnum(ll l)
{int cnt = 0;for (int i = 1; i <= n; i++){cnt += a[i] / l;}return cnt;
}
int main()
{cin >> n >> k;for (int i = 1; i <= n; i++){cin >> a[i];}int left = 0;int right = 1e8;ll mid = 0;while (left < right){mid = (left + right + 1) / 2;if (calnum(mid) < k){right = mid - 1;}else{left = mid;}}cout << left << endl;return 0;
}

P2440 木材加工 - 洛谷

http://www.dtcms.com/a/535499.html

相关文章:

  • wordpress留言页面做网站优化找谁
  • 品牌网站建设预算网站网址注册
  • 邯郸网站建设好的公司彩票网站的代理怎么做
  • 网站上传模板后做网站必须要公司才能做吗
  • 网站的外链怎么做深圳网页设计师收入
  • 青岛网站建设在线往网站上做新东西需要什么
  • 路由器映射做网站稳定吗用什么软件做公司网站
  • 常熟网站建设深圳网站建设服务哪家好
  • 自己建立网站多少钱合肥建网站公司地址
  • 网站的关于我们页面wordpress数学公式
  • 梅州新农村建设网站专业系统网站好
  • wap网站模板ciid中国室内设计大奖赛
  • 南京cms建站那个网站可以看高速的建设情况
  • 哈尔滨网站建设培训山东省建设厅网站特种作业
  • 做资讯网站需要哪些资质做耳鼻喉医院网站多少钱
  • 广州越秀公司网站建设施工企业对安全隐患不采取措施
  • 网站概要设计模板网站产品网页设计模板
  • 外贸建网站绍兴网站建设设计制作
  • 网站机房建设琼海商城网站建设
  • 淄博哪家网络公司做网站好企业展厅设计要点
  • 本地岑溪网站开发怎么样做网页设计
  • 宁波网站设计公司有几家怎么做网站关键词优化
  • 电子商务平台网站源码logo设计在线生成免费无水印不需要登陆
  • 地方旅游网站怎么做北京科技公司名称
  • 北京专业设计网站wordpress预约订单插件
  • 蓝海国际版网站建设大连网站建设选网龙
  • 网站外包注意事项阿里云预安装wordpress
  • 南充商城网站建设软件网站模版
  • 网站注册人查询怀化seo优化
  • 网站建设的具体任务有哪些成都网站建设与开发