码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 2086 A1 = ?

时间:2014-08-07 21:52:34      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   for   art   

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

题目大意:只怪数学不行 网上看到的觉得很好。。。。

  1. 因为:Ai=(Ai-1+Ai+1)/2 - Ci,  

    1.       A1=(A0  +A2  )/2 - C1; 
    2.       A2=(A1  +  A3)/2 - C2 , ... 
    3. =>    A1+A2 = (A0+A2+A1+A3)/2 - (C1+C2) 
    4.       2[(A1+A2)+(C1+C2)] = A0+A2+A1+A3; 
    5.       A1+A2 = A0+A3 - 2(C1+C2); 
    6. =>    A1+A2 =  A0+A3 - 2(C1+C2)  
    7. 同理可得: 
    8.       A1+A1 =  A0+A2 - 2(C1)  
    9.       A1+A2 =  A0+A3 - 2(C1+C2) 
    10.       A1+A3 =  A0+A4 - 2(C1+C2+C3) 
    11.       A1+A4 =  A0+A5 - 2(C1+C2+C3+C4) 
    12.       ... 
    13.       A1+An = A0+An+1 - 2(C1+C2+...+Cn) 
    14. ----------------------------------------------------- 左右求和 
    15.      (n+1)A1+(A2+A3+...+An) = nA0 +(A2+A3+...+An) + An+1 - 2(nC1+(n-1)C2+...+2Cn-1+Cn) 
    16.   
    17. =>   (n+1)A1 = nA0 + An+1 - 2(nC1+(n-1)C2+...+2Cn-1+Cn) 
    18.   
    19. =>   A1 = [nA0 + An+1 - 2(nC1+(n-1)C2+...+2Cn-1+Cn)]/(n+1) 

     

 

 

 

 

附上代码

 1 #include <iostream>
 2 #include <cstdio>
 3 
 4 using namespace std;
 5 int main ()
 6 {
 7     int i,j,n;
 8     double sum;
 9     while (~scanf("%d",&n))
10     {
11         sum=0;
12         double a[3500],c[3500],d;
13         scanf("%lf%lf",&a[0],&a[n+1]);
14         for (i=1; i<=n; i++)
15             scanf("%lf",&c[i]);
16         a[1]=n*a[0]+a[n+1];
17         for (i = n, j = 1; i >=1&&j <= n; j++,i--)
18             sum += i*c[j];
19         a[1] = (a[1] - 2*sum)/(n+1);
20         //sum+=c[i];
21         //cout<<a[1]<<endl;
22         printf ("%.2lf\n",a[1]);
23     }
24     return 0;
25 }

 

hdu 2086 A1 = ?,布布扣,bubuko.com

hdu 2086 A1 = ?

标签:style   blog   http   color   os   io   for   art   

原文地址:http://www.cnblogs.com/qq-star/p/3897930.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!