HDU 4923
来源:互联网 发布:国际阿里云paypal限制 编辑:程序博客网 时间:2024/06/12 00:49
题意:给你n个连续的不是0就是1的数串,要找出一个与它等长的bi使得对应方差和最小。
题解:比赛的时候,想岔了,先是想了左边第一个不是0右边第一个不是1的然后中间的bi其实都是一样的,但这样绝壁是错的,后面又想了分组,但是没想到要合并,最后wa了7发= =
实际上是先分组,然后在合并就可以了= =
#include<stdio.h>#include<string.h>#include<iostream>#include<cmath>#include<algorithm>#include<map>#define n 100005using namespace std;double num[n],l[n];int main(){ int t; scanf("%d",&t); while(t--) { int h; int k; int cnt=0; scanf("%d",&k); for(int i=0;i<k;i++) { scanf("%d",&h); num[cnt]=h; l[cnt++]=1; while(cnt>=2) { if(num[cnt-1]/l[cnt-1]>num[cnt-2]/l[cnt-2]) break; num[cnt-2]+=num[cnt-1]; l[cnt-2]+=l[cnt-1]; cnt--; } } double sum=0.0; for(int i=0;i<cnt;i++) { double cur=num[i]/l[i]; sum+=cur*cur*(l[i]-num[i])+(1.0-cur)*(1.0-cur)*num[i]; } printf("%.6lf\n",sum); } return 0;}
0 0
- HDU 4923
- HDU 4923
- hdu 4923
- hdu 4923 第六次多校
- HDU 4923 series1
- hdu 4923 单调栈
- 2014多校联合六(HDU 4923 HDU 4925 HDU 4927 HDU 4930)
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- sed
- struts2和servlet区别
- 文件系统 | 文件读写 | 结构体 | 数据库 | 人工智能
- 3.3.1、命令的其它说明
- java获取网络时间
- HDU 4923
- 今天
- Socket通信原理和实践
- dns(bind)配置详解(二)
- mysql事务隔离级别
- 百度电话面试总结
- CI框架 简介
- Android adb setuid提权漏洞
- Linux学习笔记——虚拟机中安装VMware Tools