zoukankan      html  css  js  c++  java
  • 【2039】checker(Dp)

    我今天脑子貌似又好使了一点,可以做一做DP中的水题了。

    这个题难度蓝色,纯属是做的人太少了虚高。

    这个题很显然的是可以用一个顺序一个逆序这两个大水转移方程轻松转移出到达这个地方最少需要的棋子数量,然后因为n足够小,直接枚举每一个偶数坐标,对于可以由红色棋子走到的,就把总数++,不可以的,就把一开始要放得棋子++。。。

    然而交了好几遍,最后,最后三个点老是不对,我突然觉得是不是数据太大了,比较符号反了。。。。结果。。。R少打了一个0.。。。。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    #include<queue>
    #define re register
    #define maxn 1000007
    #define ll long long
    using namespace std;
    ll f[20001],a[20001],d,n,m,ans,sum;
    int main()
    {
        cin>>n;
        memset(f,10,sizeof(f));
        cin>>d;
        for(re int i=2;i<=n;i++)
        {
            cin>>d;
            if(d)
            f[i]=1;
        }
        for(re int i=2;i<=n;i++)
        {
            f[i]=min(f[i],f[i-1]+f[i-2]);
        }
        for(re int i=n;i>=1;i--)
        {
            f[i]=min(f[i+1]+f[i+2],f[i]);
        }
        for(re int i=1;i<=n;i++)
        {
            if(i%2==0)
            {
                if(f[i]>1000000000000000)
                ans++;
                else
                sum+=f[i];
            }
        }
        cout<<ans<<endl<<sum;
    }
  • 相关阅读:
    「ZJOI2019」开关
    「ZJOI2019」Minimax 搜索
    杨氏矩阵学习笔记
    「LibreOJ NOI Round #2」简单算术
    「LibreOJ NOI Round #2」小球进洞
    组合总和 II(力扣第40题)
    组合总和 I(力扣第39题)
    组合(力扣第77题)
    使用MapReduce解决蚂蚁森林第二题
    Hive练习--蚂蚁森林习题二
  • 原文地址:https://www.cnblogs.com/victorique/p/8427066.html
Copyright © 2011-2022 走看看