zoukankan      html  css  js  c++  java
  • CodeForces 698A Vacations

    简单$dp$。

    记$dp[i][j]$表示$i$天过去了,并且第$i$天的时候是状态$j$的情况下,前$i$天最少休息天数。

    递推式很容易得到:

    $dp[i][0]=min(dp[i-1][0],min(dp[i-1][1],dp[i-1][2]))+1$。
    $ifleft( {1& aleft[ i ight]} ight)dpleft[ i ight]left[ 1 ight] = minleft( {dpleft[ {i - 1} ight]left[ 0 ight],dpleft[ {i - 1} ight]left[ 2 ight]} ight)$。
    $ifleft( {2& aleft[ i ight]} ight)dpleft[ i ight]left[ 2 ight] = minleft( {dpleft[ {i - 1} ight]left[ 0 ight],dpleft[ {i - 1} ight]left[ 1 ight]} ight)$。

    那么答案就是$min(dp[n][0],min(dp[n][1],dp[n][2]))$。

    #pragma comment(linker, "/STACK:1024000000,1024000000")
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    #include<vector>
    #include<map>
    #include<set>
    #include<queue>
    #include<stack>
    #include<iostream>
    using namespace std;
    typedef long long LL;
    const double pi=acos(-1.0),eps=1e-8;
    void File()
    {
        freopen("D:\in.txt","r",stdin);
        freopen("D:\out.txt","w",stdout);
    }
    template <class T>
    inline void read(T &x)
    {
        char c = getchar(); x = 0;while(!isdigit(c)) c = getchar();
        while(isdigit(c)) { x = x * 10 + c - '0'; c = getchar();  }
    }
    
    const int maxn=110;
    int a[maxn],dp[maxn][3],n;
    
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++) scanf("%d",&a[i]);
        dp[0][1]=dp[0][2]=dp[0][3]=1;
        for(int i=1;i<=n;i++) dp[i][1]=dp[i][2]=dp[i][3]=200;
        for(int i=1;i<=n;i++)
        {
            dp[i][0]=min(dp[i-1][0],min(dp[i-1][1],dp[i-1][2]))+1;
            if(1&a[i]) dp[i][1]=min(dp[i-1][0],dp[i-1][2]);
            if(2&a[i]) dp[i][2]=min(dp[i-1][0],dp[i-1][1]);
        }
        printf("%d
    ",min(dp[n][0],min(dp[n][1],dp[n][2])));
        return 0;
    }
  • 相关阅读:
    Promise链式调用 终止或取消
    uni-app input text-indent失效解决
    从浏览器输入url到显示页面的过程 (前端面试题)
    node.js切换多个版本
    防抖和节流
    vue子组件与子组件之前传值-----最简单办法
    Element源码---初识框架
    vue中父级与子组件生命周期的先后顺序
    vscode快捷键,让你脱离鼠标,敲代码嗖嗖的
    NHibernate代码监视
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5801022.html
Copyright © 2011-2022 走看看