ZOJ -3203 三分+数学



题意:
给出光的高度,人的高度,还有屋子的宽度
本题就是要求人站在什么地方影长最长 输出最长的影长



数学题
可以把这道题的分段公式推出来
然后分类讨论x在不同的范围获得不同的大小
或者把影长公式推出来

发现是凸函数 可以求极值点 然后三分求

三分

#include<bits/stdc++.h>
using namespace std;
const double eps = 1e-9;
double H,h,D;
double cal(double x)
{return -x-D*(H-h)/x+H+D;
}
int main()
{int n;cin>>n;for(int i=1;i<=n;i++){cin>>H>>h>>D;double l = D-(D*h)/H,r=D;cout<<l<<" "<<r<<endl;while(r-l>eps){double mid = (l+r)/2;double mmid = (mid+r)/2;if(cal(mid)>=cal(mmid))r = mmid;elsel = mid;// 无论怎么消除区间 都会使l和r向最高值靠拢// 即便是l和r在一侧 那么也会淘汰较小的那部分区间 想更精确与极值点处靠拢}printf("%.3lf\n",cal(r));}return 0;
}

公式:

#include<bits/stdc++.h>
using namespace std;
const double eps = 1e-9;
double H,h,D;
double cal(double x)
{return -x-D*(H-h)/x+H+D;
}
int main()
{int n;cin>>n;for(int i=1;i<=n;i++){cin>>H>>h>>D;double leak = sqrt(D*(H-h));//峰值xdouble x0 = D-D*h/H;//分段函数临界点xif(leak<=x0)//当峰值x小于临界点时 直接表示出最高值printf("%.3lf\n",h*D/H);else if(leak>=x0&&leak<=D)//当峰值x在D与临界点之间时是两段影长相加printf("%.3lf\n",cal(leak));else printf("%.3lf\n",h);// 当对号函数峰值x大于D时 表示//最大的影长需要在场外获得此时人站在尽可能靠近此峰值出的位置 可以获得//尽可能大的影长 所以直接输出h}return 0;
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java异常面试题

Java异常架构与异常关键字Java异常简介Java异常架构1. Throwable2. Error&#xff08;错误&#xff09;3. Exception&#xff08;异常&#xff09;运行时异常编译时异常4. 受检异常与非受检异常受检异常非受检异常Java异常关键字Java异常处理声明异常抛出异常捕获异常如何选择异…

html:(29):伪选择符和分组选择符

伪类选择符 更有趣的是伪类选择符&#xff0c;为什么叫做伪类选择符&#xff0c;它允许给html不存在的标签&#xff08;标签的某种状态&#xff09;设置样式&#xff0c;比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色&#xff1a; a:hover{color:red;} 上面…

[Leedcode][JAVA][第837题][新21点][动态规划][数学]

【问题描述】[中等] 爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏&#xff0c;描述如下&#xff1a;爱丽丝以 0 分开始&#xff0c;并在她的得分少于 K 分时抽取数字。 抽取时&#xff0c;她从 [1, W] 的范围中随机获得一个整数作为分数进行累计&#xff0c;其中 W 是…

Java学习笔记1(零碎笔记)——基础

目录命名流程控制方法OOP异常其它命名 变量、方法&#xff1a;驼峰命名 类&#xff1a;首字母大写&#xff0b;驼峰命名 流程控制 增强型for循环&#xff1a; for(数据类型 名称 : 数组){&#xff08;操作&#xff09; }&#xff08;意思是遍历数组&#xff0c;从数组的0号…

扩展欧几里得算法 POJ 1061

根据此题 整理下 扩展欧几里得 扩展欧几里得是用来判断并求 ax by c 是否有解及其解的数学算法 首先列出定理 1、ax by gcd(a,b) 2、gcd(a,b) gcd(b, a%b); 本题 题意是 判断两个同向的青蛙 在初始位置(x,y)&#xff0c;速度不同(m,n)的情况下能否在一个球形路线(周长为…

html:(30):继承和特殊性

继承 CSS的某些样式是具有继承性的&#xff0c;那么什么是继承呢&#xff1f;继承是一种规则&#xff0c;它允许样式不仅应用于某个特定html标签元素&#xff0c;而且应用于其后代。比如下面代码&#xff1a;如某种颜色应用于p标签&#xff0c;这个颜色设置不仅应用p标签&…

[剑指offer][JAVA]面试题第[12]题[矩阵的路径][DFS][剪枝]

【问题描述】[中等] 请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始&#xff0c;每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格&#xff0c;那么该路径不能再次进入…

Java学习笔记2——常用类

目录1 内部类1.1 成员内部类1.2 静态内部类1.3 局部内部类1.4 匿名内部类2 Object类2.1 getClass()方法2.2 hashCode()方法2.3 toSring()方法2.4 equals()方法2.5 finalize()方法3 包装类3.1 类型转换与装箱、拆箱3.2 整数缓冲区4 String类4.1 常用方法4.2 可变字符串5 BigDeci…

Mysql密码忘记了怎么办?

停止mysql&#xff1a; sudo /etc/init.d/MySQL stop(可能有其它的方法&#xff0c;总之停止MySQLd的运行就可以了) 修改mysql的配置文件&#xff1a; 在/etc/mysql/mysql.conf.d/mysqld.cnf文件中添加skip-grant-tables&#xff0c;每台电脑的文件位置可能不同。 重新启动mysq…

html:(31):层叠和重要性

层叠 我们来思考一个问题&#xff1a;如果在html文件中对于同一个元素可以有多个css样式存在并且这多个css样式具有相同权重值怎么办&#xff1f;好&#xff0c;这一小节中的层叠帮你解决这个问题。 层叠就是在html文件中对于同一个元素可以有多个css样式存在&#xff0c;当有…

架构设计分布式数据结构与算法面试题

目录架构设计请列举出在JDK中几个常用的设计模式&#xff1f;什么是设计模式&#xff1f;你是否在你的代码里面使用过任何设计模式&#xff1f;静态代理、JDK动态代理以及CGLIB动态代理静态代理动态代理cglib代理单例模式工厂模式观察者模式装饰器模式秒杀系统设计分布式分布式…

Java学习笔记3——集合框架

文章目录1 集合的概念2 Collection体系集合Collection父接口3 List接口与实现类List接口List实现类ArrayListVectorLinkedList4 Set接口与实现类Set接口Set实现类HashSetTreeSet5 Map接口与实现类Map接口Map接口的内部接口Entry1 集合的概念 概念&#xff1a;对象的容器&#…

CLOSE_WAIT状态的原因与解决方法

这个问题之前没有怎么留意过&#xff0c;是最近在面试过程中遇到的一个问题&#xff0c;面了两家公司&#xff0c;两家公司竟然都面到到了这个问题&#xff0c;不得不使我开始关注这个问题。说起CLOSE_WAIT状态&#xff0c;如果不知道的话&#xff0c;还是先瞧一下TCP的状态转移…

html:(32):字体,字号,颜色

文字排版--字体 我们可以使用css样式为网页中的文字设置字体、字号、颜色等样式属性。下面我们来看一个例子&#xff0c;下面代码实现&#xff1a;为网页中的文字设置字体为宋体。 body{font-family:"宋体";} 这里注意不要设置不常用的字体&#xff0c;因为如果用…

POJ-1845 数论

题意就是输入 a,b 输出 a的b次方的因子求和并对9902 取模 这题可以对因子化简 由于唯一分解定理 可以把a表示成 p1^q1*p2^q2...*pn^qn 也就是说 a^b p1^(q1*b)*p2^(q2*b)...*pn^(qn*b) 由于约数和公式可得a^b得约数求和为(1p1p1^2p1^3...p1^(q1*b))(1p2p2^2p2^3...p2^(q2*b…

html:(33):文字排版粗体和斜体

文字排版--粗体 我们还可以使用css样式来改变文字的样式&#xff1a;粗体、斜体、下划线、删除线&#xff0c;可以使用下面代码实现设置文字以粗体样式显示出来。 p span{font-weight:bold;} 在这里大家可以看到&#xff0c;如果想为文字设置粗体是有单独的css样式来实现的&…

[剑指offer][JAVA]面试题第[14-1、2]题[剪绳子][Leetcode][第343题][整数拆分][数学][动态规划][背包]

【问题描述】[中等] 给你一根长度为 n 的绳子&#xff0c;请把绳子剪成整数长度的 m 段&#xff08;m、n都是整数&#xff0c;n>1并且m>1&#xff09;&#xff0c;每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少&#xff1f;…

Java学习笔记4——I/O框架

目录1 流的概念2 流的分类3 字节流文件字节流FileInputStreamFileOutputStream字节缓冲流BufferedInputStreamBufferedOutputStream对象流ObjectOutputStreamObjectInputStream注意事项5 字符流文件字符流FileReaderFileWriter字符缓冲流BufferedReaderBufferedWriter转换流Inp…

snappy

参考From <https://dirtysalt.github.io/snappy.html> Snappy API From <https://www.npmjs.com/package/snappy> Snappy 是一个 C 的用来压缩和解压缩的开发包&#xff0c;其目标不是较大限度压缩&#xff0c;而且不兼容其他压缩格式。Snappy 旨在提供高速压缩速…

2017百度之星资格赛 1003 度度熊与邪恶大魔王

本题我们可以类比背包 背包dp[i][j] 表示再有i个物品下j个空间所获得的最大价值 本题dp[i][j] 可以表示干掉i个血量j个防御力下的最小花费 我们看其实我们就是在不同血量之间转移 如果当前技能的攻击力 > 当前防御力 如果攻击力能干掉怪物那么dp[i][j] min(花费,dp[…