ZOJ 3203 Light Bulb
2011-03-29 19:48
225 查看
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3366
让求一个家伙在那个神马屋子里走动的时候,影子的最大长度!好吧,刚开始认为一定可以通过数学方法得到一个函数,然后可以求得极值,然后,三张纸贡献出去,结果,悲剧!
这道题可以用三分的方法搞定,当然,由于这个题的数据相对来说比较弱,直接暴力也能解决,每次递增1e-3,嘿嘿嘿嘿~~
让求一个家伙在那个神马屋子里走动的时候,影子的最大长度!好吧,刚开始认为一定可以通过数学方法得到一个函数,然后可以求得极值,然后,三张纸贡献出去,结果,悲剧!
这道题可以用三分的方法搞定,当然,由于这个题的数据相对来说比较弱,直接暴力也能解决,每次递增1e-3,嘿嘿嘿嘿~~
#include<stdio.h> #include<math.h> #define eps 1e-10 double D,H,h; //求影子长度,解释:x 代表的是人到灯的那段距离, //墙上影子距离求法是通过梯形的面积推出来的 //x的区间为[D*(H-h)/H,D],既人从墙到影子恰好到墙角的时候,人所在的位置 double Shadow_length(double x) { return (D*h-D*H+x*H)/x +(D-x); } int main() { int t; double l,r,mid,mmid; scanf("%d",&t); while(t--) { scanf("%lf%lf%lf",&H,&h,&D); l=D*(H-h)/H; r=D; while(r-l>=eps) { mid=(r+l)/2; mmid=(r+mid)/2; if(Shadow_length(mid)>Shadow_length(mmid)) r=mmid; else l=mid; } printf("%.3f/n",Shadow_length(l)); } return 0; }
相关文章推荐
- zoj1095 Humble Numbers(DP)
- ZOJ 1454 dp
- zoj 1081 Points Within
- ZOJ3352【记忆化搜索】
- ZOJ2504 Help John!,Floyd算法会TLE,只能用Dijkstra算法了
- zoj 2614 Bridge 积分 (公式 和 simpson ) + 二分
- ZOJ Problem Set - 1240 IBM Minus One
- 对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC。 是否AC的规则如下: 1. zoj能AC; 2. 若字符串形式为xzojx,则也能AC,其中x可以是N个'o' 或者为空;
- ZOJ 3489题解 此题比赛是木有做出来,想的方法太复杂,最后看别人的方法与自己的比较才明白可以如此简单,只需计算被2整除的次数就行了!哎,方法很重要啊!
- ZOJ Problem Set - 1334 Basically Speaking ac代码及总结
- ZOJ Problem Set - 1763 A Simple Question of Chemistry
- ZOJ 3601 Unrequited Love
- zoj 1789 The Suspects
- ZOJ Problem Set - 1338 Up and Down Sequences 解释 ac代码
- ZOJ Problem Set - 1049 I Think I Need a Houseboat
- ZOJ 3210 A Stack or A Queue?
- zoj 2326
- Tri_integral Autumn Training 5 zoj 3294 Utawarerumono by Hyoga
- ZOJ Problem Set - 2109 FatMouse' Trade
- ZOJ 3228 AC自动机 重叠和不重叠