HDU5753 Permutation Bo(2016多校训练)

Permutation Bo

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 777    Accepted Submission(s): 468
Special Judge

Problem Description

There are two sequences h1∼hn

and c1∼cn

. h1∼hn

is a permutation of 1∼n

. particularly, h0=hn+1=0

.

We define the expression [condition]

is 1 when condition

is True,is 0 when condition

is False.

Define the function f(h)=∑ni=1ci[hi>hi−1  and  hi>hi+1]

Bo have gotten the value of c1∼cn

, and he wants to know the expected value of f(h)

.

Input

This problem has multi test cases(no more than 12

).

For each test case, the first line contains a non-negative integer n(1≤n≤1000)

, second line contains n

non-negative integer ci(0≤ci≤1000)

.

Output

For each test cases print a decimal - the expectation of f(h)

.

If the absolute error between your answer and the standard answer is no more than 10−4

, your solution will be accepted.

Sample Input

4

3 2 4 5

5

3 5 99 32 12

Sample Output

6.000000

52.833333

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5753

根据题意,可以考虑每个位置对期望的贡献。当i不在排列两端的时候,有3! = 6种大小关系,其中有2种对期望有贡献,因此贡献为ci/3;当i在排列两端时,有2! = 2种大小关系,其中有1种对期望有贡献,因此贡献为ci/2。(注意特判n == 1的情况)

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 #include <cstring>
 5 #include <string>
 6 using namespace std;
 7 typedef long long ll;
 8 typedef unsigned long long ull;
 9 typedef long double ld;
10 #define MAX 1005
11
12 int n;
13 int c[MAX];
14 double ans;
15 void solve()
16 {
17     for(int i=1;i<=n;i++)
18         cin >> c[i];
19     if(n==1)
20     {
21         ans = c[1];
22         return;
23     }
24     if(n==2)
25     {
26         ans = (c[1]+c[2])/2.0;
27         return;
28     }
29     ans = 0;
30     for(int i=2;i<n;i++)
31         ans += (c[i])/3.0;
32     ans+=c[1]/2.0;
33     ans+=c[n]/2.0;
34 }
35 int main()
36 {
37     while(~scanf("%d",&n))
38     {
39         solve();
40         printf("%.6f\n",ans);
41     }
42     return 0;
43 }

时间: 2024-10-05 19:06:20

HDU5753 Permutation Bo(2016多校训练)的相关文章

HDU5752 Sqrt Bo(2016多校训练)

Sqrt Bo Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1173    Accepted Submission(s): 528 Problem Description Let's define the function f(n)=⌊n−−√⌋ . Bo wanted to know the minimum number y w

HDU 5858 Hard problem (2016 多校训练#10 1002)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5858 题意:给出下图和正方形边长,求阴影部分面积. 分析:数学题,总之就是割来割去推公式,比赛时是队友打的,拿他代码直接贴了. 具体分析可以看这里. http://www.zybang.com/question/1301cb472211299680f8d4796e7dc797.html 代码: #include<cstdio> #include<cmath> #includ

HDU 5867 Water problem (2016 多校训练#10 1011)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5867 题意:给一个不超过一千的数字N,求出1-N所有单词加起来的字母个数和(f(1)=len(one)=3,f(2)=f(1)+len(two)=6...). 分析:一看名字就知道是到水题了...直接打表.(保险起见,我还手打了20内的表). 代码: #include<cstdio> #include<cmath> #include<cstring> #incl

HDU 5754 Life Winner Bo 2016多校第三场1003

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5754 题意:给你一个n*m大小的棋盘,分别以国际象棋的国王.战车.骑士和皇后的走法从(1,1)走到(n,m),而且只能向右或者向下走,问谁有必胜的策略或者是两者平局. 题解:无论是哪一种移动,都可以注意到,如果从起点到某一个点有必胜的策略,那么再以必胜点作为起点可以走到下一个必胜点,也就是以小见大. 一.对于王的走法,可以注意到3*3大小的棋盘,从(1,1)到(3,3)后手是有必胜的策略的,对于N和

2016暑假多校训练参赛感想

参赛感想 这是第一次参加暑假多校训练,应该也会是人生中最后一次,我真的很庆幸能参加这个训练,和全国几乎所有高校的ACMer一起在一个平台上做题!昨天为止多校已经完全结束,今天看到叉姐的训练感想(叉姐的感想链接),我觉得我也有必要写下自己的训练感想. 人的眼界总是狭窄的,当在自己的学校站在前几名的时候觉得自己还不错,应该会有不错的将来,但是当第一次参加国赛(2015 南阳站)的时候我便被别人实力所震撼,我突然觉得自己在别人的眼里简直就是小学生,菜到不行.别人在5个小时可以AK,而我连最水的题也要想

多校训练hdu --Nice boat(线段树,都是泪)

Nice boat Time Limit: 30000/15000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 47 Accepted Submission(s): 10 Problem Description There is an old country and the king fell in love with a devil. The devil always ask

2014多校训练九(HDU 4960 HDU 4961 HDU 4965 HDU 4968 HDU 4969 HDU 4970)

HDU 4960 Another OCD Patient 题意:给你一串数字  相邻x个数字合并成一个数字(相加)有一定代价  问  最少花费多少使得串变成回文串 思路: 读完题感觉像dp  数据范围也像  就开始想怎么表示状态  最简单的应该想到dp[i][j]表示i到j区间变成回文串的最小花费  状态想好了想做法  考虑将串分成AAAABBBBBBBCCC三段  即所有A合成一个数字  C也是  而且A和C相等  那么B串就变成了子问题  但是A和C是不是都要枚举呢?  这个串所有元素都是正

hdu 4970 Killing Monsters(简单题) 2014多校训练第9场

Killing Monsters                                                                        Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Problem Description Kingdom Rush is a popular TD game, in which you should b

hdu 4923 Room and Moor(数学题)2014多校训练第6场

Room and Moor                                                                          Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Problem Description PM Room defines a sequence A = {A1, A2,..., AN}, each of