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

网站搭建备案吗VPS如何做镜像网站

网站搭建备案吗,VPS如何做镜像网站,中国制造网外贸平台怎么注册,软件开发项目管理方案⼆分答案可以处理⼤部分「最⼤值最⼩」以及「最⼩值最⼤」的问题。如果「解空间」在从⼩到⼤的「变化」过程中,「判断」答案的结果出现「⼆段性」,此时我们就可以「⼆分」这个「解空间」,通过「判断」,找出最优解。 这个「⼆分答案…

⼆分答案可以处理⼤部分「最⼤值最⼩」以及「最⼩值最⼤」的问题。如果「解空间」在从⼩到⼤的「变化」过程中,「判断」答案的结果出现「⼆段性」,此时我们就可以「⼆分」这个「解空间」,通过「判断」,找出最优解。
这个「⼆分答案」的原理其实很容易理解,重点是如何去「判断」答案的可⾏性。

P2440 木材加工 - 洛谷

设要切成的⻓度为x ,能切成的段数为c 。根据题意,我们可以发现如下性质:

  • 当x 增⼤的时候,c 在减⼩。也就是最终要切成的⻓度越⼤,能切的段数越少;
  • 当x 减⼩的时候,c 在增⼤。也就是最终要切成的⻓度越⼩,能切的段数越多。
    那么在整个「解空间」⾥⾯,设最终的结果是ret ,于是有:
  • 当x<=ret时,c>=k。也就是「要切的⻓度」⼩于等于「最优⻓度」的时候,最终切出来的段
    数「⼤于等于」k ;
  • 当x > ret时,c < k 。也就是「要切的⻓度」⼤于「最优⻓度」的时候,最终切出来的段数
    「⼩于」k;
    在解空间中,根据ret的位置,可以将解集分成两部分,具有「⼆段性」,那么我们就可以「⼆分答案」。
    当我们每次⼆分⼀个切成的⻓度x 的时候,如何算出能切的段数c ?
  • 很简单,遍历整个数组,针对每⼀根⽊头,能切成的段数就是a[i] / x
    ![[Pasted image 20250403162611.png]]
calc(mid) >= k  ->  left = mid;
calc(mid) < k   ->  right = mid - 1;

有-1,mid = (left + right + 1) / 2
x表示切割出来的小段的长度
c表示在x的基础下,最多能切出多少段
k表示最终要切割的段数
calc计算切割长度为x的时候,能切出来多少段

#include <bits/stdc++.h>
using namespace std;typedef long long LL;const int N = 1e5 + 10;
LL n, k;
LL a[N];LL calc(LL x)
{LL cnt = 0;for (int i = 1; i <= n; i++){cnt += a[i] / x;        }return cnt;
}int main()
{ios::sync_with_stdio(false);cin.tie(0);cin >> n >> k;for (int i = 1; i <= n; i++) cin >> a[i];LL left = 0, right = 1e8;while (left < right){LL mid = (left + right + 1) / 2;if (calc(mid) >= k) left = mid;else right = mid - 1;}cout << left << endl;return 0;
}
P1873 [COCI 2011/2012 #5] EKO / 砍树 - 洛谷

设伐⽊机的⾼度为H ,能得到的⽊材为C 。根据题意,我们可以发现如下性质:

  • 当H 增⼤的时候,C 在减⼩;
  • 当H 减⼩的时候,C 在增⼤。
    那么在整个「解空间」⾥⾯,设最终的结果是ret ,于是有:
  • 当H<=ret时,C>=M。也就是「伐⽊机的⾼度」⼤于等于「最优⾼度」时,能得到的⽊材
    「⼩于等于」M;
  • 当H>ret时,C<M。也就是「伐⽊机的⾼度」⼩于「最优⾼度」时,能得到的⽊材「⼤
    于」M。
    在解空间中,根据ret的位置,可以将解集分成两部分,具有「⼆段性」,那么我们就可以「⼆分答案」。
    当我们每次⼆分⼀个伐⽊机的⾼度H 的时候,如何算出得到的⽊材C ?
  • 很简单,遍历整个数组,针对每⼀根⽊头,能切成的⽊材就是a[i] - H
    ![[Pasted image 20250403165351.png]]
calc(mid) >= M  ->  left = mid;
calc(mid) < M   ->  right = mid - 1;

有-1,mid = (left + right + 1) / 2
h表示伐木机的高度
c表示在h的基础下,所能获得的木材
calc计算高度为h的时候,所能获得的木材

#include <bits/stdc++.h>
using namespace std;typedef long long LL;
const int N = 1e6 + 10;
LL n, m;
LL a[N];LL calc(LL x)
{LL ret = 0;for (int i = 1; i <= n; i++){if (a[i] > x) ret += a[i] - x;        }return ret;
}int main()
{ios::sync_with_stdio(false);cin.tie(0);cin >> n >> m;for (int i = 1; i <= n; i++) cin >> a[i];LL left = 1, right = 2e9;while (left < right){LL mid = (left + right + 1) / 2;if (calc(mid) >= m) left = mid;else right = mid - 1;}cout << left << endl;return 0;
}
P2678 [NOIP 2015 提高组] 跳石头 - 洛谷

设每次跳的最短距离是x ,移⾛的⽯头块数为c 。根据题意,我们可以发现如下性质:

  • 当x 增⼤的时候,c 也在增⼤;
  • 当x 减⼩的时候,c 也在减⼩。
    那么在整个「解空间」⾥⾯,设最终的结果是ret ,于是有:
  • 当x<=ret时,c<=M。也就是「每次跳的最短距离」⼩于等于「最优距离」时,移⾛的⽯头块数「⼩于等于」M;
  • 当x>ret时,c>M。也就是「每次跳的最短距离」⼤于「最优距离」时,移⾛的⽯头块数「⼤于」M。
    在解空间中,根据ret的位置,可以将解集分成两部分,具有「⼆段性」,那么我们就可以「⼆分答案」。
    当我们每次⼆分⼀个最短距离x 时,如何算出移⾛的⽯头块数c ?
  • 定义前后两个指针i, j 遍历整个数组,设i ≤ j ,每次j 从i 的位置开始向后移动;
  • 当第⼀次发现a[j] - a[i] ≥ x 时,说明[i + 1, j - 1] 之间的⽯头都可以移⾛;
  • 然后将i 更新到j 的位置,继续重复上⾯两步。
    ![[Pasted image 20250403193116.png]]
calc(mid) <= M  ->  left = mid;
calc(mid) > M   ->  right = mid - 1;

有-1,mid = (left + right + 1) / 2
x表示最短跳跃高度
c表示在x的基础下,移走岩石的数目

#include <bits/stdc++.h>
using namespace std;typedef long long LL;
const int N = 5e4 + 10;
LL l, n, m;
LL a[N];LL calc(LL x)
{LL ret = 0;for (int i = 0; i <= n; i++){int j = i+1;while (j <= n && a[j] - a[i] < x) j++;ret += j - i - 1;i = j-1;}return ret;
}int main()
{ios::sync_with_stdio(false);cin.tie(0);cin >> l >> n >> m;for (int i = 1; i <= n; i++) cin >> a[i];a[n + 1] = l;n++;LL left = 1, right = l;while (left < right){LL mid = (left + right + 1) / 2;if (calc(mid) <= m) left = mid;else right = mid - 1;}cout << left << endl;return 0;
}

文章转载自:

http://Jbpk8u20.pnnyn.cn
http://h3Y0xmnS.pnnyn.cn
http://XL5vdcpB.pnnyn.cn
http://NnOEiaCg.pnnyn.cn
http://ep1J0WpF.pnnyn.cn
http://eFc5Cm06.pnnyn.cn
http://OJ164MC0.pnnyn.cn
http://qSnqtWA2.pnnyn.cn
http://HxCRauUR.pnnyn.cn
http://SbYl3iL2.pnnyn.cn
http://8JD5tyF6.pnnyn.cn
http://qoJ7Kjwj.pnnyn.cn
http://Kk4llTne.pnnyn.cn
http://36SgadMY.pnnyn.cn
http://PJ6wNejX.pnnyn.cn
http://pHiqDjCq.pnnyn.cn
http://JBSwHsxY.pnnyn.cn
http://1w4iFnjq.pnnyn.cn
http://z3j560a7.pnnyn.cn
http://CGPNJQnf.pnnyn.cn
http://gh684hMA.pnnyn.cn
http://bdpJNLyj.pnnyn.cn
http://AXmgT09f.pnnyn.cn
http://90Z0Z9rU.pnnyn.cn
http://UB47xGgk.pnnyn.cn
http://3bVSJwyA.pnnyn.cn
http://WE19xMN2.pnnyn.cn
http://yI7mginh.pnnyn.cn
http://uNmPujvq.pnnyn.cn
http://QpIALxey.pnnyn.cn
http://www.dtcms.com/wzjs/729585.html

相关文章:

  • 网站开发外包东莞企业网站排名优化
  • 如何做网站计数器wordpress个人博客主题
  • html做网站例子网站后台网址后缀
  • jquery 个人网站做企业网站模板可以seo
  • 网页制作与网站建设实战大全 豆瓣如何自己做自己的网站
  • 离职同事以公司名义做网站做自媒体一般都注册几个网站
  • 自己创网站php怎么做网站快
  • 重庆 手机网站制作网络运维主要做什么
  • 网站设计工具在手机上创建网站
  • 网站用图怎么做文件小质量高ios网页游戏
  • 还有河北城乡和住房建设厅网站吗群晖打开wordpress4.9.8
  • 做儿童业态招商要去哪些网站互联网广告行业前景
  • 黄埔做网站长春网络推广公司哪个好
  • 网站建设推广服务合同开做网站的公司 条件
  • 西安网站注册网络公司网络推广服务
  • 网站建设标新立异seo的搜索排名影响因素有哪些
  • 外包网站建设公司手机 网站 源码
  • 做景区网站建设的公司长三角旅游推广联盟
  • 创建众筹网站伴奏网站防盗是怎么做的
  • 工业部网站备案河南网站制作
  • 创新的微商城网站建设浙江省建设厅网站高工
  • 杭州建设网站公司wordpress怎么加404
  • 扬州市住房和建设局网站中山专业做网站
  • 域名怎么创建网站吗本地岑溪网站开发
  • 网站 功能呢design工业设计
  • 雄安智能网站建设网站规划与设计课程设计
  • 大连制作网站omv wordpress
  • html网站源码wordpress更改登录地址
  • 4500急招一位接送小孩阿姨附近网站建设优化加盟代理
  • 摄影网站源码 国外做网站设计的有些什么职位