2 条题解

  • 1
    @ 2022-11-2 17:29:59

    逆向思维 从下面向上递推

    • 1
      @ 2022-11-2 17:29:01

      参考代码

      const int N = 100009;
      int n, s[N];
      void solve()
      {
          cin >> n;
          for (int i = 2; i < (1 << (n + 1)); i++)
              cin >> s[i];
          int ans = 0;
          for (int i = 1 << (n + 1) - 1; i >= 1; i--)
          {
              int l = i * 2, r = i * 2 + 1;
              ans += max(s[l], s[r]) * 2 - s[l] - s[r];
              s[i] += max(s[l], s[r]);
          }
      
          cout << ans << '\n';
      }
      
      • 1

      信息

      ID
      820
      时间
      1000ms
      内存
      256MiB
      难度
      6
      标签
      递交数
      35
      已通过
      12
      上传者