zoukankan      html  css  js  c++  java
  • HDU 2086 A=? 数学题

    题目描述:有一个公式,Ai = (Ai-1 + Ai+1)/2 - Ci (i = 1, 2, 3, .... n).,如果给出A0, An+1, 和 C1, C2, .....Cn要你计算出A1是多少。

    解题报告:一个简单的数学题,我的做法先将公式变形得到:A[n] = 2*A[n-1]+2*C[n-1]-A[n-2],是分别定义两个数组,设A1 = x,然后两个数组里面一个存放第n项的系数,另一个存放第n项的常数,这样一直递推到第n+1项,然后直接解一元一次方程就可以了。代码附上:

     1 #include<cstdio>
     2 #include<cmath>
     3 const int MAX = 3000+5;
     4 int n;
     5 double xishu[MAX],changshu[MAX],C[MAX],a0,an1;
     6 void dabiao() {
     7     xishu[1] = 1;
     8     changshu[1] = 0;
     9     xishu[2] = 2;
    10     changshu[2] = 2.0*C[1]-a0;
    11     for(int i = 3;i<=n+1;++i) {
    12         xishu[i] = 2.0*xishu[i-1]-xishu[i-2];
    13         changshu[i] = 2.0*changshu[i-1]+2*C[i-1]-changshu[i-2];
    14     }
    15 }
    16 int main() {
    17      while(scanf("%d",&n)!=EOF) {
    18          scanf("%lf%lf",&a0,&an1);
    19          for(int i = 1;i<=n;++i)
    20          scanf("%lf",&C[i]);
    21          dabiao();
    22          double ans = (an1-changshu[n+1])/xishu[n+1];
    23          printf("%.2lf
    ",ans);
    24      }
    25      return 0;
    26 }
    View Code
  • 相关阅读:
    pku 1330 LCA
    最近公共祖先(LCA)的Tarjan算法
    字典数模板
    字典树
    RMQ问题ST算法与模板
    RMQ(Range Minimum/Maximum Query)问题:
    罗穗骞的dc3和倍增法
    多重背包问题
    tarjan LCA 算法
    终极工程师的造诣 – 不迷信高科技的乔布斯给我们的启示
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3217159.html
Copyright © 2011-2022 走看看