
二分
Matrix1254
爱代码,爱加班,爱咖啡可乐
爱挑战,爱钻研,爱打游戏
爱晚起,也爱工作到深夜。
我擅长技术,崇尚简单和懒惰
我神秘而孤僻,沉默而爱憎分明
我行我素,我是程序员
展开
-
hdu 2141 can you find it?
一句话,将a+b排序后,再用二分查找是否有x-c。注意二分的写法,left//freopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r",stdin);//freopen("input.txt", "r", stdin); //读数据// freopen("output.txt", "w",原创 2013-01-04 15:00:03 · 468 阅读 · 0 评论 -
hdu 2289 cup
水平面的半径u可以根据直角梯形的面积求出:(r+u)*h + (u+R)*(H-h) = (r+R)*H得出(R-r)*h = (u-r)*H得 u = r + (R-r)*h/H圆台体积计算公式:V= π*h*( R^2 + R*u + u^2 ) / 3一直WA,找不到原因在哪里,所以就百度,查了n遍实在找不到那里错,结果改了二分标记的地方就AC了。以后得好好研究一下为什么原创 2013-01-04 16:11:00 · 456 阅读 · 0 评论 -
hdu 2899 Strange fuction
与之前的2199类似,只是求完一次导后发现并非完全单调,求二次导,恒大于0,说明图形是凹的。已知 f ' (0) 0,则用二分法求出f ' (x) =0 时的x值,则最小值就是f(x)。#include#includedouble cal(double x,double y){ return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)原创 2013-01-02 13:52:48 · 416 阅读 · 0 评论 -
hdu 1969 pie
二分,细心细心再细心,精度问题。//freopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r",stdin);//freopen("input.txt", "r", stdin); //读数据// freopen("output.txt", "w", stdout); //注释掉此句则输出到控制台原创 2013-01-03 22:17:39 · 446 阅读 · 0 评论 -
hdu 2199 Can you solve this equation?
求导后发现,f ‘ 恒大于0,用二分法求即可,剪除条件:f(100)y。最后输出mid,结果WA,改为输出(left+right)/2通过。后来明白:当left=right时会跳出循环,而mid是不正确的。 #include#includedouble cal(double x){ return 8*pow(x, 4)+7*pow(x,3)+2*pow(x,2)+3*x+6原创 2013-01-02 13:10:01 · 386 阅读 · 0 评论