Yahoo Progamming Contest 2019D(DP,思维)

Posted ldudxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yahoo Progamming Contest 2019D(DP,思维)相关的知识,希望对你有一定的参考价值。

#include<bits/stdc++.h>
using namespace std;
long long n,v,a,b,c,d,e;
int main(){
    scanf("%d",&n);
    while(n--){
        scanf("%d",&v);
        a+=v;//记录前面全清零需要的花费
        b=min(b+(v?v%2:2),a);//记录从清零之后全部变为偶数需要的花费
        c=min(c+!(v%2),b);//记录全是偶数之后全部变为奇数需要的花费
        d=min(d+(v?v%2:2),c);//记录全是奇数之后全部变为偶数需要的花费
        e=min(e+v,d);//记录全是偶数之后全部清零需要的花费
        printf("%lld",e);
    }
}















以上是关于Yahoo Progamming Contest 2019D(DP,思维)的主要内容,如果未能解决你的问题,请参考以下文章

Yahoo Programming Contest 2019

Yahoo Programming Contest 2019 F - Pass

Yahoo Programming Contest 2019 D - Ears

Atcoder Yahoo Programming Contest 2019 简要题解

Yahoo Programming Contest 2019 F - Pass

Yahoo Programming Contest 2019.E.Odd Subrectangles(思路 线性基)