zoukankan      html  css  js  c++  java
  • 【郑轻】[1841]so easy!麻麻再也不用担心我的数学了!

    1841: so easy!麻麻再也不用担心我的数学了!

    Time Limit: 1 Sec Memory Limit: 128 MB
    Submit: 40 Solved: 17

    Description

    咱们来一发so easy的数学题,这样麻麻再也不用担心我们的数学不及格了。
    现在给你一个方程A[i] = (A[i-1]+A[i+1])/2 - c[i](1 <= i <= n);, 然后给你A[0]和A[n+1]
    求A[1] = ?。

    Input

    包括多个测试样例。
    对于每一个实例,第一行输入一个正整数n(1 <= n <= 3000),第二行输入两个实数A[0], A[n+1],接下来每一行输入一个实数c[i](1 <= i <= n)。

    Output

    对于每个测试实例,用一行输出所求得的a1(保留2位小数).

    Sample Input

    1
    50 25
    10
    2
    50 25
    10 20

    Sample Output

    27.50
    15.00

    是一个比较不容易思考的题。
    根据公式:Ai=Ai1+Ai+12ci
    可以得到:An+1=2AnAn1+2cn
    所以:
    A2=2A1A0+2c1
    A3=3A12A0+4c1+2c2=2A2A1+2c2
    A4=4A13A0+6c1+4c2+2c3
    A5=5A14A0+8c1+6c2+4c3+2c4
    ……
    An+1=(n+1)A1nA0+2nc1+2(n1)c2++4cn1+2cn
    所以可得
    A1=An+1+nA0n1[2(ni+1)ci]n+1
    由此可直接得出结果

    #include<stdio.h>
    double a[3020];
    int main() {
        int n;
        while(scanf("%d",&n)!=EOF) {
            double f0,fn1;
            scanf("%lf %lf",&f0,&fn1);
            for(int i=1; i<=n; i++)
                scanf("%lf",&a[i]);
            double sum=0;
            for(int i=1; i<=n; i++)
                sum+=2*(n-i+1)*a[i];
            printf("%.2lf
    ",(fn1+n*f0-sum)/(n+1));
        }
        return 0;
    }
    

    题目地址:【郑轻】[1841]so easy!麻麻再也不用担心我的数学了!

  • 相关阅读:
    C# Ini配置文件
    C#日志写入
    GZFramework.DB.Core初始化
    httpHelper
    GZFramework代码生成器插件使用教程
    MVC部署IIS设置
    SignalR记录
    洛谷 P2360 地下城主
    洛谷 P1379 八数码难题(map && 双向bfs)
    洛谷 P1155 双栈排序
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569414.html
Copyright © 2011-2022 走看看