新生賽 1011 世界的光棍節禮物

題目:ide

     如今,11.11在大學生活中是個特殊的日子,不少學校都把它當成男生節,做爲師姐,LPT也想給師弟發下福利,但是師弟那麼多,如何發?因而她想了一個點子,
能夠出一道數學題考考師弟們,前三位AC這道題的師弟就能夠獲得小禮物啦!
有一組數列,它有n+2個元素,a[0],a[1], ..., a[n+1] (n <= 3000, -10000 <= a[i]<=10000) ,對於i = 1,2,3,...,n知足$a_i-c_i=\frac{a_{i-1}+a_{i+1}}{2}-b_i$,
若是給出a[0],a[n+1] 以及集合B、C的全部元素值(即給出b[1],b[2]...b[n]和c[1],c[2],...,c[n],-100≤b[i], c[i]≤100),都是保留小數點後兩位的數,聰明的
你可否算出a[1]?spa

思路:code

      首先,常數項能夠並在一塊兒,$a_i-c_i=\frac{a_{i-1}+a_{i+1}}{2}-b_i$用 $d_i  = b_i -c_i$ 把式子變造成:$a_i=\frac{a_{i-1}+a_{i+1}}{2}-d_i$
blog

再次變形:$a_{i+1} - a_i - 2d_i = a_i - a_{i-1}$         ···  (1)
數學

      而後,i = 1開始,到i = n,根據公式獲得 n個式子io

    $a_2 - a_1 - 2d_1 = a_1 - a_0$   event

    $a_3 - a_2 - 2d_2 = a_2 - a_1$   class

    ···cli

    $a_{n+1} - a_n - 2d_n = a_n - a_{n-1}$   sed

      把這n個式子累加,獲得

     $a_0 - a_1 + a_{n+1} - a_n - 2 * \sum^{n}_{i = 1}d_i  = 0$       ··· (2)

      由式(1)可得

     $a_{n+1} - a_n - 2d_n= a_n - a_{n-1}$    

  代入(2)可得代入                      

     $ a_0 - a_1 + a_n - a_{n-1} - 2 *\sum^{n-1}_{i = 1}d_i=0$        ··· (3)

      重複,獲得:

    $a_0 - a_1 + a_2 - a_1 - 2d_1 = 0$          ··· (n+1)

      將式(2)加到式子(n+1),得:

    $a_1=\frac{n*a_0 + a_{n+1} - 2 * n * d_1 - 2 * (n-1) * d_2 - ··· - 2 * d_n}{n+1}$

 

 代碼:

 

 1 #include<cstdio>
 2 int main()
 3 {
 4     //freopen("data_in.txt", "r", stdin);
 5     //freopen("data_out.txt", "w", stdout);
 6     int n, i, T;
 7     double  a1, x, y, b[3010], c[3010], d[3010], sum;
 8     scanf("%d", &T);
 9     while(T--)
10     {
11         sum = 0.0;
12         scanf("%d", &n);
13         scanf("%lf%lf", &x, &y);
14         for(i = 1; i <= n; i++)
15         {
16             scanf("%lf", &b[i]);
17         }
18         for(i = 1; i <= n; i++)
19         {
20             scanf("%lf", &c[i]);
21             d[i] = b[i] - c[i];
22         }
23         for(i = 1; i <= n; i++)
24         {
25             sum += 2 * (n - i + 1) * d[i];
26         }
27         a1 = (n * x - sum + y) / ( n + 1);
28         printf("%.2lf\n", a1);
29     }
30 
31     return 0;
32 }
View Code
相關文章
相關標籤/搜索