【LA3485】 Bridge
前言
哈哈哈,垃圾微积分哈哈哈
前置知识:自适应Simpson法与微积分初步,学会编程
Solution
考虑一下我们有的是什么:
一段桥梁的横向距离,悬线的长度,以及高度。
我们发现如果我们重新设一个元\(h=H-x\),那么很显然就有\(x=H-h\)
这个时候感觉\(h\)好求一些
那么怎么做?
可以根据\(h\)和\(d\)算出悬线长度,然后直接二分答案就好了。(注意按照格式输出)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<queue>
#include<iostream>
using namespace std;
#define ll long long
#define re register
#define file(a) freopen(a".in","r",stdin);freopen(a".out","w",stdout)
inline int gi(){
int f=1,sum=0;char ch=getchar();
while(ch>'9' || ch<'0'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){sum=(sum<<3)+(sum<<1)+ch-'0';ch=getchar();}
return f*sum;
}
double a;
double F(double x){
return sqrt(1+4*a*a*x*x);
}
double Simpson(double a,double b){
double c=a+(b-a)/2;
return (F(a)+4*F(c)+F(b))*(b-a)/6;
}
double simpson(double a,double b,double eps,double A){
double c=a+(b-a)/2;
double L=Simpson(a,c),R=Simpson(c,b);
if(fabs(L+R-A)<=eps*15)return L+R+(L+R-A)/15;
return simpson(a,c,eps/2,L)+simpson(c,b,eps/2,R);
}
double Ask(double a,double b,double eps){
return simpson(a,b,eps,Simpson(a,b));
}
double check(double d,double h){
a=4.0*h/(d*d);
return Ask(0,d/2,1e-5)*2;
}
const double eps=1e-5;
int main(){
int T=gi();
for(int Case=1;Case<=T;Case++){
printf("Case %d:\n",Case);
int D,H,B,L;
scanf("%d%d%d%d",&D,&H,&B,&L);
int n=(D+B-1)/D;
double d=(double)B/n;
double l=(double)L/n;
double x=0,y=H;
while(y-x>eps){
double mid=x+(y-x)*0.5;
if(check(d,mid)<l)x=mid;
else y=mid;
}
printf("%.2lf\n",H-x);
if(Case!=T)puts("");
}
return 0;
}
【LA3485】 Bridge的更多相关文章
- 【设计模式】Bridge模式(桥接模式)
最近的一次面试中,被问到桥接模式,以前呢并没有很仔细的研究过这个设计模式,借此机会剖析一下. 先给出自己对这个模式理解后的源码: interface A{ void methodA(); } inte ...
- 【BZOJ-2095】Bridge 最大流 + 混合图欧拉回路 + 二分
2095: [Poi2010]Bridges Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 604 Solved: 218[Submit][Stat ...
- 【设计模式】Bridge
前言 Bridge设计模式,将一个复杂类分成可以单独开发的部分.分成的两个部分,abstraction,implementation.字面上是抽象和实现,但不同于抽象方法及其实现.下面摘录Wiki的两 ...
- 【poj3608】 Bridge Across Islands
http://poj.org/problem?id=3608 (题目链接) 题意 求两凸包间最短距离 Solution 难写难调,旋转卡壳,还真是卡死我了. 先分别选出两凸包最上点和最下点,从这两点开 ...
- 【BZOJ2095】 Bridge
Time Limit: 1000 ms Memory Limit: 128 MB Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个 ...
- 【BZOJ2095】【POI2010】Bridge 网络流
题目大意 给你一个无向图,每条边的两个方向的边权可能不同.要求找出一条欧拉回路使得路径上的边权的最大值最小.无解输出"NIE". \(2\leq n\leq 1000,1\le ...
- 【HDOJ6218】Bridge(线段树,set,网格图,连通性)
题意:给定一张2×n的网格图,一开始矩阵所有相邻点之间有一条边 有q个询问,每次给出两个相邻的点的坐标,将其中的边删除或者添加,问如此操作之后整张图的割边数量 n,q<=2*10^5, ...
- 【ZOJ】4012 Your Bridge is under Attack
[ZOJ]4012 Your Bridge is under Attack 平面上随机n个点,然后给出m条直线,问直线上有几个点 \(n,m \leq 10^{5}\) 由于共线的点不会太多,于是我们 ...
- 【AtCoder ABC 075 C】Bridge
[链接] 我是链接,点我呀:) [题意] 让你求出桥的个数 [题解] 删掉这条边,然后看看1能不能到达其他所有的点就可以了 [代码] #include <bits/stdc++.h> us ...
随机推荐
- Python中sys和os模块的区别
sys: This module provides access to some variables used or maintained by the interpreter and to func ...
- vue.js实现购物车功能
购物车是电商必备的功能,可以让用户一次性购买多个商品,常见的购物车实现方式有如下几种: 1. 用户更新购物车里的商品后,页面自动刷新. 2. 使用局部刷新功能,服务器端返回整个购物车的页面html 3 ...
- jquery 特效
http://demo.howtoexe.com/instagram-gravity-gallery/index.html
- 修正剑桥模型预测-用python3.4
下面是预测结果: #!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" ""& ...
- eclipse 创建servlet 出现继承 HttpServlet 报红线
eclipse创建servlet出现红线: 解决方案1,鼠标右键项目 -> 鼠标右击项目——>Build Path——> 点击comfigure Build Path进入-----& ...
- HTTP 错误 500.XX - Internal Server Error 解决办法
HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. 详细错误信息 模块 IIS Web Core 通知 未知 处理程序 尚未 ...
- .net 打开Excel文档并转为DataTable
/// <summary> /// 打开Excel文档并转为DataTable /// </summary> /// <returns></returns&g ...
- 强大的DataGrid组件[1]
说明:DataGrid组件是Silverlight数据组件中最为常用并且是功能最为强大的数据组件.因此,对开发者而言,深入了解其特性是十分有必要的.本文先介绍该组件的基本特性,接着通过几个简单实例来说 ...
- [HTML5] 颜色选择器的操作[input type='color'....]
一.点击事件和获取颜色值 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- Phalanx (hdu 2859)
http://acm.hdu.edu.cn/showproblem.php?pid=2859 Time Limit: 10000/5000 MS (Java/Others) Memory ...