zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 73

    1334 (-2), pupil
    Rank: 2668

    (虽然比上次好,但是摆脱不了掉分的命运。。。)

    D. Make The Fence Great Again

    http://codeforces.com/contest/1221/problem/D

    分析:对每个高度来说,最多升高两次,因此可以对这个进行dp(一开始读错题了,没有看到是相邻不能同高,一开始以为所有都不能同高)

    代码:

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 const int maxn = 1e6;
     4 typedef long long ll;
     5 const ll inf = 0x3f3f3f3f3f3f3f3f;
     6 int n;
     7 int h[maxn], w[maxn];
     8 ll dp[maxn][3];
     9 
    10 int main()
    11 {
    12     int T; cin >> T;
    13     while (T--)
    14     {
    15         int n; cin >> n;
    16         for (int i = 1; i <= n; i++)
    17             scanf("%d%d", h + i, w + i);
    18         for (int i = 1; i <= n; i++)
    19             dp[i][0] = dp[i][1] = dp[i][2] = inf;
    20         dp[1][0] = 0, dp[1][1] = w[1], dp[1][2] = 2 * w[1];
    21         for (int i = 2; i <= n; i++)
    22         {
    23             for (int j = 0; j <= 2; j++)
    24                 for (int k = 0; k <= 2; k++)
    25                     if (h[i - 1] + j != h[i] + k)
    26                         dp[i][k] = min(dp[i][k], w[i] * k + dp[i - 1][j]);
    27         }
    28         cout << min(dp[n][0], min(dp[n][1], dp[n][2])) << endl;
    29     }
    30 }
  • 相关阅读:
    编程路上有你们陪着值了
    我是屌丝程序猿,我为自己代言.
    JSON转换类
    深入理解requestAnimationFrame
    CentOS部署yapi
    前端三种路由方式
    yarn安装使用
    三大框架对比
    es6异步编程
    JS原型链
  • 原文地址:https://www.cnblogs.com/liuwenhan/p/11561495.html
Copyright © 2011-2022 走看看