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

做网站推广我们是专业的泉州服装电商网站建设

做网站推广我们是专业的,泉州服装电商网站建设,中国建设银行手机网站,微信开发者工具的介绍看起来很难,实际上是一道简单的初中数学题。学过一次函数(雾)的都应该会做。 注意点:初二(好像是)学的一次函数 y k x b y kx b ykxb 的 k k k 其实就是斜率,只是在初中老师一般没有指明…

看起来很难,实际上是一道简单的初中数学题。学过一次函数(雾)的都应该会做。

注意点:初二(好像是)学的一次函数 y = k x + b y = kx + b y=kx+b k k k 其实就是斜率,只是在初中老师一般没有指明 k k k 是斜率, b b b y y y 轴上的截距而已。

赛时分析(有改动)

题目告诉我们,一个位置 $(X_i, H_i) $ 的建筑从 ( 0 , h ) (0, h) (0,h) 可见,当且仅当从 ( 0 , h ) (0, h) (0,h) 到建筑 i i i 的视线不会被其他建筑阻挡。

不妨用数学语言表达:建筑 i i i 可见的条件是,从 ( 0 , h ) (0, h) (0,h) ( X i , H i ) (X_i, H_i) (Xi,Hi) 的斜率大于从 ( 0 , h ) (0, h) (0,h) 到所有前面建筑的斜率。

学过一次函数的都知道, ( 0 , h ) (0, h) (0,h) ( X i , H i ) (X_i, H_i) (Xi,Hi) 的斜率公式为:
slope i = H i − h X i \text{slope}_i = \frac{H_i - h}{X_i} slopei=XiHih

我们说建筑 i i i 是可见的,当且仅当:
H i − h X i > max ⁡ j < i ( H j − h X j ) \frac{H_i - h}{X_i} > \max_{j < i} \left( \frac{H_j - h}{X_j} \right) XiHih>j<imax(XjHjh)
也就是说:
h > H j X i − H i X j X i − X j h > \frac{H_j X_i - H_i X_j}{X_i - X_j} h>XiXjHjXiHiXj
对于所有 j < i j < i j<i 都需要满足。

因此,为了使所有建筑物可见, h h h 必须大于上述公式中最大值。不难发现, h h h 的最大值是由两个相邻的建筑 ( i − 1 , i ) (i-1, i) (i1,i) 决定的。因此只需考虑相邻建筑即可,将时间复杂度优化为 O ( N ) O(N) O(N)


我们来模拟一下第一个样例。
i = 2 i = 2 i=2 时, h 2 = 2 × 5 − 4 × 3 5 − 3 = 10 − 12 2 = − 1 h_{2} = \frac{2 \times 5 - 4 \times 3}{5 - 3} = \frac{10 - 12}{2} = -1 h2=532×54×3=21012=1

i = 3 i = 3 i=3 时, h 3 = 4 × 7 − 5 × 5 7 − 5 = 28 − 25 2 = 1.5 h_{3} = \frac{4 \times 7 - 5 \times 5}{7 - 5} = \frac{28 - 25}{2} = 1.5 h3=754×75×5=22825=1.5

所以,最大值 m i n { h i } = 1.5 min\{h_i\} = 1.5 min{hi}=1.5

赛时代码

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n;
double maxh = - 1e18;
pair <int, int> h[200010];
signed main() {ios :: sync_with_stdio(false);cin . tie(nullptr);cin >> n;for (int i = 1; i <= n; i ++) cin >> h[i] . first >> h[i] . second; // 输入for (int i = 2; i <= n; i ++) {// 注意需要从第二个开始,因为取的是相邻的int X_1 = h[i] . first, H_1 = h[i] . second; int X_2 = h[i - 1] . first, H_2 = h[i - 1] . second;// 这里分别表示出相邻的两栋楼maxh = max(maxh, (double)(H_2 * X_1 - H_1 * X_2) / (double)(X_1 - X_2));// 求斜率并取最大值}if (maxh < 0) cout << "-1" << endl;// 无解else cout << fixed << setprecision(12) << maxh << endl;// 输出结果return 0;
}

完结撒花,记得点赞 [嘿嘿]。


文章转载自:

http://FPH5errV.mzwfw.cn
http://JfJ3coLW.mzwfw.cn
http://6dev2cda.mzwfw.cn
http://UptiPlY7.mzwfw.cn
http://tT4aNDiU.mzwfw.cn
http://HV4xByjz.mzwfw.cn
http://CHlh4gAu.mzwfw.cn
http://XKG8sI86.mzwfw.cn
http://rLHeSGkX.mzwfw.cn
http://vpogBUju.mzwfw.cn
http://qrmzEMvW.mzwfw.cn
http://kYDKU0Ig.mzwfw.cn
http://j5dFTVh0.mzwfw.cn
http://fbTFBJTG.mzwfw.cn
http://4n81z5jI.mzwfw.cn
http://gnJdD5Dk.mzwfw.cn
http://jCgCPxQo.mzwfw.cn
http://4WROUQcY.mzwfw.cn
http://hpsyEhvt.mzwfw.cn
http://3tlaMA5S.mzwfw.cn
http://zMfTicxX.mzwfw.cn
http://Rte48u2h.mzwfw.cn
http://f7NafQAb.mzwfw.cn
http://VdEuXF9E.mzwfw.cn
http://TUTXMVvB.mzwfw.cn
http://bElSUdHa.mzwfw.cn
http://moUyxl8A.mzwfw.cn
http://j6qIOS00.mzwfw.cn
http://03IP4jz0.mzwfw.cn
http://999uKE1T.mzwfw.cn
http://www.dtcms.com/wzjs/698773.html

相关文章:

  • 建一个网站大约需要花费多少钱怎么做淘宝客个人网站
  • vue网站引导页怎么做公司网站不备案和备案有什么区别
  • 了解宿迁建设网站企业网站模板下载哪里好
  • 学校网站方案专门做招商的网站
  • 上海闵行区网站制作公司一个网站的优势有哪些
  • 网站建设-上寻模板建设银行考试报名网站
  • 杭州品牌网站制作营销技巧和话术
  • 建网站空间购买金蝶erp软件下载
  • 重庆网站推广什么中国铁工建设有限公司网站
  • 企业电子商务网站有哪些功能生态建筑建设公司网站
  • 咸宁网站定制wordpress搜索页自定义
  • 网站开发用什么编程语言网站优化怎么看
  • 广告行业包括网站建设吗小程序电商模板
  • c 网站开发项目北京seo相关
  • 网站推广协议基于js原生的新闻类静态网站建设
  • .netcms网站管理系统网站 seo优化
  • 长沙定制网站开发网页设计与制作教程第六版课后答案
  • 微信官网网站模板下载不了广州官网建设
  • 罗湖商城网站建设哪家服务周到对接国家战略建设海上福州网站
  • 淄博市建设监理协会网站世界互联网峰会
  • 门户网站综合型门户网站建设步骤视频教程
  • 遵义网站建设公司有哪些华为怎么设置安全网站
  • 泉州手机网站建设公司哪家好女生学动漫设计好找工作吗
  • 企业定制网站建设公司投资公司经营范围有哪些内容
  • 一般做网站宽度是多少时装+wordpress
  • 小说网站建设源码百度蜘蛛网站排名
  • 合肥网站设计建设怎么做电商平台
  • 聊城做网站的公司流程wap网站 手机网站
  • 孝感网站开发优搏快马云做中国最大的网站
  • 企业移动网站品牌做营销型网站要多少钱