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

榆林网站建设公司电话江苏园博园建设开发有限公司网站

榆林网站建设公司电话,江苏园博园建设开发有限公司网站,网站如何续费,网站没有织梦后台一、题目&#xff1a; 二、题解&#xff1a; 1、思路解析&#xff1a; 1&#xff09;首先我们可以发现题目的样例数量为&#xff08; n < 1000 n<1000 n<1000&#xff09;&#xff0c;因此我们可以考虑 O ( n ∗ l o g n ) O(n*log^n) O(n∗logn)时间复杂度的算法 …

一、题目:

在这里插入图片描述

二、题解:

1、思路解析:

1)首先我们可以发现题目的样例数量为( n < = 1000 n<=1000 n<=1000),因此我们可以考虑 O ( n ∗ l o g n ) O(n*log^n) O(nlogn)时间复杂度的算法

在这里插入图片描述

2)通过观察题目我们可以发现,要求我们求解答案的最小值与最大值,且答案拥有一定的单调性

3)因此我们的第一个思想是用二分答案求解

2、二分答案详细过程:

1)找变量关系,判断合法区间

  • 通过画图我们发现,当转化率 V V V不断增加时, b [ i ] b[i] b[i]的变化如下,虽然一整段 b [ i ] b[i] b[i]的值单调性,但是我们可以对其进行分段
    • 二分: a [ i ] / x < = b [ i ] a[i]/x<=b[i] a[i]/x<=b[i]的区间,求解最小值(蓝色区间)
    • 二分: a [ i ] / x > = b [ i ] a[i]/x>=b[i] a[i]/x>=b[i]的区间,求解最大值(红色区间)
      在这里插入图片描述

2)判断区间端点

1# 找最小值
  • 二分函数构建
    • 此时,我们发现其合法区间为 < = b [ i ] <=b[i] <=b[i](因为我们要使得我们想要求解的最值处于划分的区间边界)
    • 因此 我们可以通过判断 a [ i ] / x a[i]/x a[i]/x的值来判断是否合法(最后return r)
      在这里插入图片描述
//合法区间<=b[i]的值
bool check_min(ll x) //x表示当前的转化率
{for(ll i=1;i<=n;i++) {if(a[i]/x>b[i]) return false;}return true;
}
  • 二分入口构建
    • check_min(mid)成立时,说明此时 a [ i ] / x < = b [ i ] a[i]/x<=b[i] a[i]/x<=b[i] m i d mid mid偏大,因此r=mid
    • 最后reutrn r即可(如图所示, r r r所指向的部分为答案)
  ll l = 1, r = 1e9 + 7;while(l+1<r)  //二分答案找最满足条件的最小值{ll mid=(l+r)>>1;if(check_min(mid))   r=mid; else l=mid;}v_min=r;
2#找最大值
  • 二分函数构建
    • 此时,我们发现其合法区间为 > = b [ i ] >=b[i] >=b[i](因为我们要使得我们想要求解的最值处于划分的区间边界)
    • 因此 我们可以通过判断 a [ i ] / x a[i]/x a[i]/x的值来判断是否合法(最后return L)
      在这里插入图片描述
bool check_max(ll x) //合法区间>=b[i]的值
{for(ll i=1;i<=n;i++) {if(a[i]/x<b[i]) return false;}return true;
}
  • 二分入口构建
    • check_min(mid)成立时,说明此时 a [ i ] / x > = b [ i ] a[i]/x>=b[i] a[i]/x>=b[i] m i d mid mid偏小,因此l=mid
    • 最后reutrn l即可(如图所示, l l l所指向的部分为答案)
 l=1,r=1e9+7;while(l+1<r)  //二分答案找满足条件的最大值{ll mid=(l+r)>>1;if(check_max(mid)) l=mid;else r=mid;}v_max=l;

3、完整代码解析:

#include <bits/stdc++.h>
using namespace std;typedef long long ll;
const int N = 2e5 + 7;
ll a[N], b[N], n;//合法区间<=b[i]的值
bool check_min(ll x) //x表示当前的转化率
{for(ll i=1;i<=n;i++) {if(a[i]/x>b[i]) return false;}return true;
}bool check_max(ll x) //合法区间>=b[i]的值
{for(ll i=1;i<=n;i++) {if(a[i]/x<b[i]) return false;}return true;
}int main() {cin >> n;ll v_min,v_max;for (int i = 1; i <= n; i++) {cin >> a[i] >> b[i];}//转化率V->:不断增加        Vmin       Vmax//结果:>b[i] >b[i]  >b[i] =b[i] =b[i] =b[i]  <b[i] <b[i] <b[i]ll l = 1, r = 1e9 + 7;while(l+1<r)  //二分答案找最满足条件的最小值{ll mid=(l+r)>>1;if(check_min(mid))   r=mid; else l=mid;}v_min=r;l=1,r=1e9+7;while(l+1<r)  //二分答案找满足条件的最大{ll mid=(l+r)>>1;if(check_max(mid)) l=mid;else r=mid;}v_max=l;cout << v_min << ' ' << v_max;return 0;
}
http://www.dtcms.com/wzjs/793590.html

相关文章:

  • 云主机做网站永久保留网站温州建网站公司
  • 网站快速排名的方法5网站开发之美
  • 三明市网站建设东营网站seo外包
  • 重庆要做网站推广三网合一网站建设程序
  • 企业网站诊断与优化方案网站建设费用低设计好
  • 广州木马网站建设公司怎么样公司网站建设 上海
  • 网站页面设计怎么做网站开发接入支付宝
  • 天河建设网站公司个人公司网页如何设计
  • 网站建设合同用贴印花税吗有色建设网站
  • 建一个图片类网站需要多少钱wordpress自定义评论头像
  • 手机设计软件有哪些软件搜索引擎优化是指
  • 网站开发原型模板资源下载网
  • 网站关键词免费优化如何做一个网站推广自己的产品
  • 网站运营作用自己做电影网站怎么赚钱
  • 随州网站推广百度竞价规则
  • 网站建设和seo是什么关系百度推广费用多少
  • 网站文字格式学网络运营在哪里学比较好
  • 顺德建设工程交易中心网站建设宣传网站的必要性
  • 网站功能介绍互联网网站模板
  • 云南电商网站建设黑色网站模板
  • 湖南省住房建设厅网站框架网站建设
  • 接go语言网站开发建立企业营销网站主要包括哪些内容
  • 温州网站建设方案书深圳Wordpress网站
  • 公司网站如何备案洞头区小程序模板源代码
  • 详谈电商网站建设四大流程模板型网站
  • 网站建设考核个人备案网站可以做新闻站吗
  • 做网站的过程上海软件app开发流程
  • 网站ui界面设计宁波seo排名优化教程
  • 中山企业推广网站制作漳州市建设局网站6
  • 企业网站建设方案 完整版物联网解决方案