HDU 2899 Strange fuction
来源:互联网 发布:网络直播都有什么内容 编辑:程序博客网 时间:2024/05/16 02:48
题目地址:点击打开链接
思路:先求导看单调性,不可能有单增的情况,因为y的取值大于0小于1e10,有单调递减的情况,100处为最小值,对函数二次求导大于0,原函数为凹函数,导函数为递增函数,导函数图像如下图,导函数y值为0时,值最小,所以左右值的差小于精度即可求出值
AC代码:
#include <stdio.h>#include <stdlib.h>#include <math.h>double y;double dao(double x){ return 42 * pow(x,6) + 48 * pow(x,5) + 21 * pow(x,2) + 10 * x;}double shu(double x){ return 6 * pow(x,7) + 8 * pow(x,6) + 7 * pow(x,3) + 5 * pow(x,2) - y * x;//注意圆角半角别敲错}int main(){ int t; double left,right,mid; scanf("%d",&t); while(t--) { scanf("%lf",&y); if(dao(100.0) - y <= 0)//单调递减,等于零是有可能在100处取到极值点 { printf("%.4lf",shu(100.0)); continue; } left = 0.0; right = 100.0; while(right - left > 1e-5)//-4不行,得-5,不然会错误 { mid = (left + right) / 2; if(dao(mid) - y < 0) left = mid; else right = mid; } printf("%.4lf\n",shu(mid)); } return 0;}
1e-10就是“aeb”的形式,表示a乘以10的b次方。其中b必须是整数,a可以是小数
0 0
- HDU 2899 Strange fuction
- hdu 2899 Strange fuction
- hdu 2899 Strange fuction
- HDU 2899 Strange fuction
- hdu 2899 Strange fuction
- HDU 2899-Strange fuction
- hdu 2899 Strange fuction
- hdu--2899--Strange fuction
- hdu 2899 Strange fuction
- HDU 2899 Strange fuction
- HDU 2899 Strange fuction
- hdu 2899 Strange fuction
- hdu 2899 Strange fuction
- HDU 2899 Strange fuction
- HDU 2899 Strange fuction
- hdu 2899 Strange fuction
- Strange fuction ----HDU 2899
- hdu 2899 Strange fuction
- NGUI 对话系统
- Android 谷歌 开源 通信框架 VOLLEY(五)——源码架构设计
- 大讲台谈hive(初篇)
- 前端各种技术简介
- HDU 4497 GCD and LCM
- HDU 2899 Strange fuction
- powerDesigner自制的最简单的数据库表结构报告文档&表字段布局说明
- Flip Bits
- POJ 2247 Humble Numbers
- ExtJs 中 Ajax 连接超时设置与问题排查
- ARM汇编中的:比较指令--CMN / CMP / TEQ / TST
- 南邮 OJ 1356 方格取数问题
- iOS 知识点
- 单片机矩阵按键长短按