hdu4355
来源:互联网 发布:php输出当前时间 编辑:程序博客网 时间:2024/05/19 15:43
链接:点击打开链接
题意:
小精灵不愿意走路,走路的话会使他们产生不高兴值,如果小精灵走的路是S体重是W那么他走S路程产生的不高兴值是ans=sigma(S^3)*W;现在森林里要开一个庆祝会,给出各个小精灵的坐标(注意这里是一维的)和体重,求在哪里庆祝会使小精灵的不高兴值最小,输出这个最小的不高兴值。样例中第一行是样例个数,每个样例的第一行是小精灵的个数n,接下的n行是每个小精灵的坐标和体重。输出只有一个整数,即最小的不高兴值。注意输出格式。
代码:
#include <iostream>#include <cmath>#include <cstdio>#include <algorithm>using namespace std;double x[50005],w[50005];long long n;double cal(double a){ long long i; double sum=0; for(i=0;i<n;i++) sum+=(fabs((x[i]-a)*(x[i]-a)*(x[i]-a))*w[i]); //每个位置的值加和 return sum;}double threesearch(double l,double r){ double mid,midmid; long long i; for(i=1;i<=100;i++){ mid=(r-l)/3+l; midmid=(r-l)/3*2+l; //三分 if(cal(mid)>cal(midmid)) l=mid; else r=midmid; } return cal(l);}int main(){ long long t,i,j,k; double ll,rr,sum; scanf("%I64d",&t); for(k=1;k<=t;k++){ scanf("%I64d",&n); ll=99999999;rr=-99999999; for(i=0;i<n;i++){ scanf("%lf %lf",&x[i],&w[i]); ll=min(ll,x[i]); rr=max(rr,x[i]); }// cout<<ll<<" "<<rr<<endl; sum=threesearch(ll,rr); printf("Case #%I64d: %I64d\n",k,(long long)(sum+0.5));//这要注意精度问题 } return 0;}
0 0
- hdu4355
- hdu4355
- HDU4355
- HDU4355
- hdu4355(三分法)
- hdu4355(三分)
- hdu4355 三分
- HDU4355 三分
- HDU4355 三分查找
- HDU4355(三分)
- 求单峰值——HDU4355
- [HDU4355][三分]Party All The Time
- HDU4355 Party All the Time (三分搜索)
- hdu4355 Party All the Time----------多校联合六 三分
- HDU4355--Party All the Time,HDU3714--Error Curvese三分法
- 暑期训练赛3F题(HDU4355)
- 2012 Multi-University Training Contest 6-1006 hdu4355 Party All the Time
- 二分、三分小结(ZOJ3203 HDU2438 HDU4717 HDU2199 POJ3737 HDU4355 HDU3400 HDU4004)
- HDOJ 1018 Big Number(大数)
- FPGA配置和外部存储器烧写问题
- Linux常用命令-文件处理命令
- 网址信息收集器
- Android设计模式系列-组合模式
- hdu4355
- nyoj 6 喷水装置(一)【贪心】
- 线程间通信--生产消费
- 编程之美:第四章 数字之趣 4.9数独知多少
- iTV android与客户端加密交互流程
- 第一篇博文
- B - 皇马
- 杭电2094产生冠军
- erlang数据类型atom