国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

洛谷 P3382 【模板】三分法(三分 二分)

2019-11-14 09:06:53
字體:
來源:轉載
供稿:網友

P3382 【模板】三分法 題目提供者HansBug 難度 普及/提高- 題目描述 如題,給出一個N次函數,保證在范圍[l,r]內存在一點x,使得[l,x]上單調增,[x,r]上單調減。試求出x的值。 這里寫圖片描述 輸入輸出格式 輸入格式: 第一行一次包含一個正整數N和兩個實數l、r,含義如題目描述所示。 第二行包含N+1個實數,從高到低依次表示該N次函數各項的系數。 輸出格式: 輸出為一行,包含一個實數,即為x的值。四舍五入保留5位小數。 輸入輸出樣例 輸入樣例#1: 3 -0.9981 0.5 1 -3 -3 1 輸出樣例#1: -0.41421 說明 時空限制:50ms,128M 數據規模: 對于100%的數據:7<=N<=13 樣例說明: 如圖所示,紅色段即為該函數f(x)=x^3-3x^2-3x+1在區間[-0.9981,0.5]上的圖像。 當x=-0.41421時圖像位于最高點,故此時函數在[l,x]上單調增,[x,r]上單調減,故x=-0.41421,輸出-0.41421。

/*三分答案做法.又學了一種三分答案姿勢.mid=(2*l+r)/3,midmid=(l+2*r)/3.常數要小很多...(并不會證明).*/#include<cstdio>#define MAXN 101#define eps 1e-7using namespace std;double a[MAXN],ans,l,r;int n;double check(double x){ double sum=0; for(int i=1;i<=n;i++) { double tot=a[i]; for(int j=1;j<=n-i;j++) tot*=x; sum+=tot; } return sum;}void sanfen(){ double mid,midmid; while(l+eps<r) { //mid=(l+r)/2,midmid=(mid+r)/2; mid=(2*l+r)/3,midmid=(l+2*r)/3; if(check(mid)>=check(midmid)) r=midmid,ans=mid; else l=mid; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 财经| 延安市| 五峰| 巧家县| 赫章县| 东阳市| 时尚| 苏尼特左旗| 延津县| 商河县| 茶陵县| 秦皇岛市| 理塘县| 渑池县| 瑞安市| 安岳县| 安塞县| 斗六市| 华安县| 祥云县| 江城| 泰来县| 湘乡市| 荆州市| 丹棱县| 镇赉县| 丰宁| 临沧市| 三河市| 贺兰县| 济宁市| 临沂市| 香格里拉县| 鄂托克前旗| 庄河市| 永胜县| 长兴县| 岳池县| 南江县| 唐山市| 会东县|