两道二分coming~

第一道:poj 1905Expanding Rods

题意:两道墙(距离L)之间架一根棒子,棒子受热会变长,弯曲,长度变化满足公式( s=(1+n*C)*L),求的是弯曲的高度h。

首先来看这个图:

如图,蓝色为杆弯曲前,长度为L

红色为杆弯曲后,长度为s

h是所求。

又从图中得到三条关系式;

(1)       角度→弧度公式  θr = 1/2*s

(2)       三角函数公式  sinθ= 1/2*L/r

(3)       勾股定理  r^2 – ( r – h)^2 = (1/2*L)^2

 

把四条关系式化简可以得到

 

 

逆向思维解二元方程组:

要求(1)式的h,唯有先求r

但是由于(2)式是三角函数式,直接求r比较困难

因此要用顺向思维解方程组:

在h的值的范围内枚举h的值,计算出对应的r,判断这个r得到的(2)式的右边  与 左边的值S的大小关系  ( S= (1+n*C)*L )

 

很显然的二分查找了。。。。。

看代码:

 1 #include<stdio.h>
 2 #include<string>
 3 #include<math.h>
 4 #include<string.h>
 5 #include<algorithm>
 6 #define esp 1e-5
 7 using namespace std;
 8 int main()
 9 {
10     double l,n,c,s,h,r;
11     while(scanf("%lf%lf%lf",&l,&n,&c)!=EOF)
12     {
13         if(l==-1&&n==-1&&c==-1)
14             break;
15         s=(1+n*c)*l;
16         double low=0.0,high=l*0.5,mid;
17         while(high-low>esp)
18         {
19             mid=(low+high)/2;
20             r=(4*mid*mid+l*l)/(8*mid);
21             if(2*r*asin(l/(2*r))<s)
22                 low=mid;
23             else
24                 high=mid;
25         }
26         printf("%.3lf\n",mid);
27     }
28     return 0;
29 }

第二题:poj 3122 Pie

题意:f+1个人分n个派。

要求:每个人的派的体积一样大且尽量最大,每个人的派必须来自同一个派。

二分题,千万要注意,输入的是朋友的数量f,分pie是分给所有人,包括自己在内共f+1人

下界low=0,即每人都分不到pie

上界high=maxsize,每人都得到整个pie,而且那个pie为所有pie中最大的

对当前上下界折中为mid,计算"如果按照mid的尺寸分pie,能分给多少人"

求某个pie(尺寸为size)按照mid的尺寸,能够分给的人数,就直接size / mid,舍弃小数就可以

 

看代码:

#include<stdio.h>
#include<string>
#include<math.h>
#include<string.h>
#include<algorithm>
#define pi 3.14159265359
#define esp 1e-6
using namespace std;
int main()
{int t;int n,f,maxs;double v;double r[10001];double s[10001];scanf("%d",&t);while(t--){maxs=0.0;int ans=0;scanf("%d%d",&n,&f);f++;for(int i=0;i<n;i++){scanf("%lf",&r[i]);s[i]=r[i]*r[i];if(maxs<s[i])maxs=s[i];}double low=0.0,high=maxs,mid;while(high-low>esp){mid=(low+high)/2;ans=0;for(int i=0;i<n;i++){ans+=(int)(s[i]/mid);}if(ans<f)high=mid;elselow=mid;}printf("%.4lf\n",mid*pi);}return 0;
}

 

转载于:https://www.cnblogs.com/PJQOOO/p/4250814.html

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

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

相关文章

include静态加载布局ViewStub动态加载布局

layout"layout/" 文件名.xml/> 他可以加载任何的layout如果是如果想加载一个控件&#xff0c;要把这个控件写在layout。xml文件里 ViewStub android:id"id/vsb" android:layout_width"match_parent" android:layout_height&qu…

oracle 返回表的函数,oracle 返回表函数

--首先创建一个类型create or replace type t_test as object( empno number(4), ename varchar2(20), job varchar2(20), sal number(7,2) ) ; ---创建一个对象&#xff0c;引用上面的类型t_test create or replace type t_test_table as table of t_t…

十天学Linux内核之第七天---电源开和关时都发生了什么

十天学Linux内核之第七天---电源开和关时都发生了什么 原文:十天学Linux内核之第七天---电源开和关时都发生了什么说实话感觉自己快写不下去了&#xff0c;其一是有些勉强跟不上来&#xff0c;其二是感觉自己越写越差&#xff0c;刚开始可能是新鲜感以及很多读者的鼓励&#xf…

dede php 里加nofollow,织梦导航栏目如何加nofollow

很多用织梦程序做网站的朋友会发现&#xff0c;dedecms后台并没有直接加nofollow的选项。那如果想要给联系我们、关于我们等导航栏目加上nofollow该怎么解决呢&#xff1f;笔者在网上也找了一些资料&#xff0c;有通过修改数据库增加参数的方法&#xff0c;但没有成功。今天笔者…

黄仕沛经方医案医话精选(上) 王晓军 整理

1:出奇兵而不奇&#xff5e; 顽 固 性 呃 逆 案苏某&#xff0c;男&#xff0c;55岁&#xff0c;藉贯潮州&#xff0c;香港商人。二年前&#xff0c;工作压力较大&#xff0c;后而呃逆发作&#xff0c;易中、西医十数&#xff0c;用镇静、解痉等&#xff0c;甚至抗抑郁药…

ubuntu 重启命令,ubuntu 重启网卡方法

ubuntu 重启命令 重启命令&#xff1a;1、reboot2、shutdown -r now 立刻重启(root用户使用)3、shutdown -r 10 过10分钟自动重启(root用户使用)4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)如果是通过shutdown命令设置重启的话&#xff0c;可以用shutdown -c命令…

【Cocos2d-Js实战教学(1)横版摇杆八方向移动】

本教程主要通过搭建一个横版摇杆八方向移动的实例&#xff0c;让大家如何用Cocos2dx-Js来做一款游戏&#xff0c;从基础了解Cocos2dx-Js的基本实现原理&#xff0c;从创建工程&#xff0c;到各个知识点的梳理。 教程分为上下两讲&#xff1a; 上讲有2个小节&#xff1a; 1&…

oracle 试图访问已经在使用的事物处理临时表,解决ORA-14450:试图访问已经在使用的事务处理临时表-Oracle...

解决ORA-14450:试图访问已经在使用的事务处理临时表解决方法–1、查找sessionIDselect SID,SERIAL# from V$session where SID in (select sid from v$enqueue_lock t where t.type’TO’)SID SERIAL#————————-103 257113 181124 89126 632–2、kill sessionselect ‘…

项目进度管理和项目成本管理的重点梳理

一、项目进度管理作业&#xff1a;1、活动资源估算的方法、技术和工具&#xff1a;专家判断, 多方案分析, 出版的估算数据, 项目管理软件, 自下而上估算. 2、活动历时估算的方法、技术和工具&#xff1a;专家判断, 类比估算, 参数估算, 三点估算, 后备分析. 3、制订进度计划的方…

在单文档中显示我的第一个对话框

在单文档中显示我的第一个对话框 (2010-04-19 21:19:50) 转载▼标签&#xff1a; it 今天编写了在单文档中创建对话框以及调用对话框的代码&#xff0c;收获很多&#xff1b; 1&#xff1a;OnInitDialog函数的加载问题尤其是在VS上的加载&#xff1b;&#xff08;这一点花了…

matlab穆尔,基于matlab(矩阵实验室)的倒立摆控制系统仿真(34页)-原创力文档

基于MA&#xff34;&#xff2c;&#xff21;B的倒立摆控制系统仿真摘  要自动控制原理(包括经典部分和现代部分)是电气信息工程学院学生的一门必修专业基础课&#xff0c;课程中的一些概念相对比较抽象&#xff0c;如系统的稳定性、可控性、收敛速度和抗干扰能力等。倒立摆系…

主机Window不能访问该虚拟机Linux Samba文件服务提供了一个文件夹

我最近遇到一个问题。虚拟机Linux中间Samba服务常开。主办“\\192.168.229.200” (我的虚拟机Linux址)訪问不了Share文件夹&#xff08;/var/test&#xff09;&#xff0c;并且经过数次的重新启动&#xff0c;检查配置。再重新启动&#xff0c;都没法解决。后来突然想到了主机管…

Linux内核启动去掉企鹅,修改linux内核kernel开机logo(小企鹅)

修改linux内核kernel的开机图片(原为小企鹅图片)。转载请注明出处&#xff1a;http://blog.csdn.net/wang_zheng_kai导航制导与控制实验室 2014年12月10日本文主要是介绍三部分内容&#xff1a;1》如何制作linux内核所需要的开机图片(ppm格式)&#xff1b;2》修改开机图片的两种…

hdu 1233 最小生成树

/***********************************************************************************************************************map 存路径&#xff0c;值为权值&#xff1b; weight保存个点到源起点的权值&#xff1b; pre保存结点的前驱&#xff0c;即与源起点有路的下一个点…

Linux进程间通信(四) - 共享内存

共享内存的优势 采用共享内存通信的一个显而易见的好处是效率高&#xff0c;因为进程可以直接读写内存&#xff0c;而不需要任何数据的拷贝。对于像管道和消息队列等通信方式&#xff0c;则需要在内核和用户空间进行四次的数据拷贝&#xff0c;而共享内存则只拷贝两次数据&…

windows和linux加密u盘,linux挂载windows的各种格式U盘

从windows迁移到linux&#xff0c;像kali还能打开ntfs的格式硬盘&#xff0c;centos连ntfs都打不开&#xff0c;windows和linux两种系统传文件很不方便&#xff0c;所以在网上搜索到一些解决方案&#xff0c;在此记一下。挂载ntfs(安装ntfs-3g):打开ntfs-3g的下载点http://www.…

年底了,还这么忙

作为一个程序员&#xff0c;有时候感到很抓狂&#xff01;不是因为bug&#xff0c;而是因为活儿多得干不完。理论上&#xff0c;我觉得写程序是一件好快乐好快乐的事情&#xff0c;现实中&#xff0c;写程序有时候变成了一件苦逼被人使唤的事情。 在电脑上安装了ubuntu系统&…

jQuery EasyUI使用教程之基本的拖放

2019独角兽企业重金招聘Python工程师标准>>> <jQuery EasyUI最新版下载> 本教程将为你展示如何使HTML元素可拖动。在这个示例中我们将创建3个DIV元素&#xff0c;然后使它们能够被拖动。 查看演示 首先&#xff0c;我们创建3个div元素&#xff1a; < div i…

manjaro linux 教程,Manjaro 使用基础

一、pacman/yay 的基础命令Manjaro 装好后&#xff0c;需要运行的第一条命令&#xff1a;sudo pacman -Syy ## 强制更新包数据sudo pacman-mirrors --interactive --country China # 列出所有国内的镜像源&#xff0c;并提供交互式的界面手动选择镜像源sudo pacman -Syyu # 强制…

1-3-顺时针旋转矩阵

1 /*2 题目描述&#xff1a;3 有一个NxN整数矩阵&#xff0c;请编写一个算法&#xff0c;将矩阵顺时针旋转90度。4 给定一个NxN的矩阵&#xff0c;和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于300。5 测试样例&#xff1a;6 [[…