Sgu 114 Telecasting station
来源:互联网 发布:iphone画图软件 编辑:程序博客网 时间:2024/05/01 18:30
貌似忘记写题意了
给x,p
找到x0使得∑abs(xi-x0)*pi min
实际上就是一个中位数的东西
不想写中位数了
又写的三分=,=
表示叉姐说的是对的...有数据可以卡三分
比如区间段
121[1] 1111 [1]111
和
111[1] 1111 [1]121
无论怎么写必然会有一个会挫掉
不过sgu114整数和实数都过了
表示一般情况下没人闲的来卡这种东西....
整数版2Y
1WA在tp未更新....
#include<stdio.h>#define N 15010#define eps 1e-8#define LL long longLL x[N],p[N];int n;LL abs(LL y){if(y>0)return y;return -y;}LL f(LL xx){LL res=0;for(int i=1;i<=n;i++)res+=abs(x[i]-xx)*p[i];return res;}LL Find3(LL l,LL r){LL x=r-l;if(x<3){LL p=l+1,q=l+2;LL fl=f(l),fp=f(p),fq=f(q);LL temp=l,tp=fl;if(fp<tp)temp=p,tp=fp;if(fq<tp)temp=q,tp=fq;return temp;}else {x/=3;LL ll=l+x,rr=r-x;LL fll=f(ll),frr=f(rr);if(fll<frr)return Find3(l,rr);else return Find3(ll,r);}}int main(){while(scanf("%d",&n)!=EOF){int i;LL max=(int)-1e18,min=(int)1e18;for(i=1;i<=n;i++){scanf("%lld%lld",&x[i],&p[i]);if(x[i]>max)max=x[i];if(x[i]<min)min=x[i];}LL res=Find3(min,max);printf("%.5lf\n",(double)res);}return 0;}
实数版
1Y
#include<stdio.h>#define N 15010#define eps 1e-8int x[N],p[N];int n;double abs(double y){if(y>0)return y;return -y;}double f(double xx){double res=0;for(int i=1;i<=n;i++)res+=abs(x[i]-xx)*p[i];return res;}double Find3(double l,double r){//printf("find3(%lf,%lf)\n",l,r);double x=r-l;if(x<eps)return l;x/=3.0;double ll=l+x,rr=r-x;//printf("ll=%lf,rr=%lf\n",ll,rr);double fll=f(ll),frr=f(rr);//printf("fll=%lf,frr=%lf\n\n",fll,frr);if(fll<frr)return Find3(l,rr);else return Find3(ll,r);}int main(){while(scanf("%d",&n)!=EOF){int i;double max=-1e18,min=1e18;for(i=1;i<=n;i++){scanf("%d%d",&x[i],&p[i]);if(x[i]>max)max=x[i];if(x[i]<min)min=x[i];}//printf("%lf %lf\n",max,min);double res=Find3(min,max);printf("%.5lf\n",res);//while(scanf("%lf",&res)!=EOF&&abs(res)>eps)printf("%lf\n",f(res));}return 0;}
- sgu 114 Telecasting station
- Sgu 114 Telecasting station
- SGU 114 Telecasting station
- SGU 114 Telecasting station
- SGU 114 Telecasting station
- SGU 114 Telecasting station 单峰极值函数
- SGU 114 Telecasting station(水~)
- SGU 114 Telecasting station(二分)
- [SGU]114. Telecasting station
- [sgu]Telecasting station【三分】
- 【SGU】 114. Telecasting station 中位数
- SGU 114. Telecasting station 三分or找中位数
- SGU114 Telecasting station 三分
- SGU114-Telecasting station
- sgu114 Telecasting station 三分
- sgu114:Telecasting station
- 114. Telecasting station
- SGI114 Telecasting station
- 一步一步写算法(之链表排序)
- Executor线程,线程池
- 用Rakefile管理工程
- 链表的排序
- Nand flash driver
- Sgu 114 Telecasting station
- jQuery:1.5.4.1,表格变色(第一行是奇数)
- java 解析ip
- 安装和使用花生壳(linux)
- js编码解码一个蛮有意思的事
- opencv之卡尔曼滤波
- Linux 常见特殊符号
- 二维数组动态分配内存
- Servlet+Jsp实现图片或文件的上传功能