hdu 4923 Room ans Moor
来源:互联网 发布:路由器mac地址过滤功能 编辑:程序博客网 时间:2024/06/07 18:03
Room and Moor
Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 602 Accepted Submission(s): 173
Problem Description
PM Room defines a sequence A = {A1, A2,..., AN}, each of which is either 0 or 1. In order to beat him, programmer Moor has to construct another sequence B = {B1, B2,... , BN} of the same length, which satisfies that:
Input
The input consists of multiple test cases. The number of test cases T(T<=100) occurs in the first line of input.
For each test case:
The first line contains a single integer N (1<=N<=100000), which denotes the length of A and B.
The second line consists of N integers, where the ith denotes Ai.
For each test case:
The first line contains a single integer N (1<=N<=100000), which denotes the length of A and B.
The second line consists of N integers, where the ith denotes Ai.
Output
Output the minimal f (A, B) when B is optimal and round it to 6 decimals.
Sample Input
491 1 1 1 1 0 0 1 191 1 0 0 1 1 1 1 140 0 1 140 1 1 1
Sample Output
1.4285711.0000000.0000000.000000
Author
BUPT
Source
2014 Multi-University Training Contest 6
比赛的时候没想出来,想复杂了。。
因为A最大为1,所以A^2求和和A是相等的,所以不用记录左右区间。
/***********************************************\ |Author: Messyidea |Created Time: 2014-8-8 10:35:39 |File Name: 03.cpp |Description: \***********************************************/#include <iostream>#include <cstdio>#include <cmath>#include <cstdlib>#include <string>#include <cstring>#include <algorithm>#include <vector>#include <list>#include <map>#include <set>#include <deque>#include <queue>#include <stack>#define L(rt) (rt<<1)#define R(rt) (rt<<1|1)#define mset(l,n) memset(l,n,sizeof(l))#define rep(i,n) for(int i=0;i<n;++i)#define maxx(a) memset(a, 0x3f, sizeof(a))#define zero(a) memset(a, 0, sizeof(a))#define srep(i,n) for(int i = 1;i <= n;i ++)#define MP make_pairconst int inf=0x3f3f3f3f ;const double eps=1e-8 ;const double pi=acos (-1.0);typedef long long ll;using namespace std;#define maxn 100005double len[maxn];double num[maxn];int a,n;int cnt;int main() {//freopen("input.txt","r",stdin); int cas = 0; scanf("%d",&cas); while(cas --){ cnt = 0; scanf("%d",&n); rep(i,n) { scanf("%d",&a); num[cnt] = a; len[cnt ++] = 1; while(cnt >= 2){ if(num[cnt-1]/len[cnt-1] >= num[cnt-2]/len[cnt-2]) break; num[cnt-2] += num[cnt-1]; len[cnt-2] += len[cnt-1]; cnt--; } } double ans = 0; for(int i = 0;i<cnt;++i){ double t = num[i]/len[i]; ans += num[i] - 2*t*num[i] + t*t*len[i]; } printf("%.6lf\n",ans); }return 0;}
0 0
- hdu 4923 Room ans Moor
- HDU 4923 Room and Moor
- HDU 4923 Room and Moor
- hdu 4923 Room and Moor
- hdu 4923 Room and Moor
- HDU-4923-Room and Moor
- hdu 4923 Room and Moor
- hdu 4923 Room and Moor
- hdu 4923 Room and Moor
- hdu 4923 Room and Moor
- Hdu 4923 Room and Moor
- HDU 4923 Room and Moor
- hdu 4923 Room and Moor(线性表)
- hdu 4923 Room and Moor 堆栈
- HDU 4923 Room and Moor(瞎搞题)
- hdu 4923 Room and Moor 贪心+YY
- HDU 4923 Room and Moor【栈】【想法】
- HDU 4923 - Room and Moor (贪心)
- [Unity3d]DrawCall优化手记
- C++-构造函数,析构函数
- 几道易错js题
- sql查询区分大小写
- uva1626 Brackets sequence
- hdu 4923 Room ans Moor
- Linux内核的同步机制
- 关于COCOS2DX里面TableView控件使用的问题
- JAVA JDK和Tomcat环境变量配置
- java jdk打包方法
- android权限总结
- vim实用配置(转)
- 高性能服务器的设计原则
- debian上解决ImportError: No module named OpenSSL错误(python)