【[APIO2007]动物园】

2021-06-22 19:03

阅读:562

标签:getch   api   getchar   这一   main   好处   out   fine   amp   

我好\(sb\)啊,把\(>>\)打成\(结果就写了两节课

那个一个人只能看到五个动物显然很鬼畜

那我们就可以压这一维了

\(dp[i][s]\)表示从第\(i\)个位置往后数五个位置的状态是\(s\)时最多能有几个小朋友开心(\(0\)表示移走,\(1\)表示保留)

之后我们处理处每一个人的喜欢和害怕的状态,往下转移就好了

还有这是一个环,感觉非常不好处理的样子

我们可以枚举第一个位置之后的状态是什么,最后的位置必须和第一个位置吻合就好了

复杂度\(O(4^5n)\)

代码

#include
#include
#include
#define re register
#define max(a,b) ((a)>(b)?(a):(b))
#define maxn 50005
int dp[10005][33];
int S[maxn],F[maxn],L[maxn];
int ans=0;
inline int read()
{
    char c=getchar();
    int x=0;
    while(c‘9‘) c=getchar();
    while(c>=‘0‘&&c>1)|(1>1)|(1>1]=max(dp[i][j],dp[i+1][j>>1]);
            }
            while(S[now]==i+1)
            {
                for(re int j=0;js) t-=(1>1)==t) ans=max(ans,dp[n][i]);
    }
    std::cout

【[APIO2007]动物园】

标签:getch   api   getchar   这一   main   好处   out   fine   amp   

原文地址:https://www.cnblogs.com/asuldb/p/10205762.html


评论


亲,登录后才可以留言!