洛谷3382用二分怎么解决
来源:互联网 发布:淘宝发布水果宝贝类目 编辑:程序博客网 时间:2024/04/27 15:20
- 例题
这道题看上去不能直接用二分法去做,反而要用三分法。但是 只要把这个函数取导之后找到这导数的驻点就ok了。
但是什么是导数呢?因为导数实在是太多了,这里就不一一列举了。这里只说明一下幂函数的导数,幂函数的导数为:f(x)=x^n
那么 f(x)的导数为nx^(n-1)
所以这道题就很好理解了,现在来看代码:
#include<cstdio>#include<cstdlib>#include<iostream>#include<cmath>using namespace std;double a[50];int n;double ds(double l) {//求导数的值 double p=0; for(int i=n; i>=1; i--) { int y=i; double o=a[i]; y-=1; while(y>0) { o*=l; y--; } p+=o; } return p;}void efda(double l,double r) { if(r-l<=1e-6) { printf("%0.5lf",l); exit(0);//结束 } double mid=(l+r)/2,lp=ds(mid); if(lp<0) efda(l,mid);//这里用二次函数在草稿纸上枚举一次就可以知道怎么二分答案了 else if(lp>0) efda(mid,r); else {//如果导数为零,直接输出 cout<<mid; exit(0);//结束 }}int main() { double l,r,pp; cin>>n>>l>>r; for(int i=n; i>=1; i--) { cin>>a[i]; a[i]*=i;//为了方便求导数 } cin>>pp; efda(l,r);}
阅读全文
1 0
- 洛谷3382用二分怎么解决
- 用二分图模型解决poj 2195
- 用二分可以简单解决的题~~
- 开灯问题用C语言怎么解决 ?
- tomcat端口被占用怎么解决
- adb.exe被占用端口怎么解决
- poj2771二分图点权最大独立集,用Dinic解决
- 这个问题怎么解决
- 怎么解决啊
- 这怎么解决啊?
- “本地连接”找不到,怎么解决?
- linux死机怎么解决
- 快照不正常怎么解决
- 403 Forbidden怎么解决
- 控件不见了,怎么解决?
- xhost + 不起作用怎么解决
- 这问题怎么解决???
- 电脑蓝屏怎么解决
- Faster-RCNN和Region Proposal Network
- 算法竞赛_排列_C++
- express静态文件服务
- servlet
- 2017深度学习装机清单 (附京东链接)
- 洛谷3382用二分怎么解决
- eclipse git提交项目冲突
- javascript
- 使用CSDN-markdown编辑器详解
- POJ 2387 Til the Cows Come Home
- New Year and Rating CodeForces
- Go 文件操作(创建、打开、读、写)
- 京东笔试题(30道选择)
- JavaScript中打印3位数中所有的水仙花数