题解 | #Qu'est-ce Que C'est?#

Bobo String Construction

https://ac.nowcoder.com/acm/contest/57358/A

迫于大佬威压来写题解,J比较明显的状态设计 发现区间加法 直接上差分即可

#include<bits/stdc++.h>
#define int long long
using namespace std;
typedef long long ll;
const int N = 5010;
const int mod = 998244353;
int n,m,dp[N][N*2],num[N*2];
signed main()
{
    cin>>n>>m;
    for(int i=-m;i<=m;i++)dp[1][i+m]=1;
    for(int i=2;i<=n;i++){
        memset(num,0,sizeof(num));
        for(int j=-m;j<=m;j++){
            if(j<0){
                num[m]=(num[m]+dp[i-1][j+m])%mod;
                num[j+m*2+1]=(num[j+m*2+1]-dp[i-1][j+m]+mod)%mod;
            }
            else{
                num[-j+m]=(num[-j+m]+dp[i-1][j+m])%mod;
                num[2*m+1]=(num[2*m+1]-dp[i-1][j+m])%mod;
            }
        }
        for(int i=0;i<=2*m;i++)num[i]=(num[i]+num[i-1]%mod+mod)%mod;
        memcpy(dp[i],num,sizeof(num));
    }
    int ans = 0;
    for(int i=0;i<=2*m;i++){
        ans=(ans+dp[n][i])%mod;
    }
    cout<<ans<<'\n';
    return 0;
}

全部评论

相关推荐

11-23 15:33
已编辑
门头沟学院 Java
CUTMR:换账号试试重启推荐算法,我换账号之后回复率还不错,约莫有个20%左右的消息回复率,前几页、主动招呼的HR也开始符合我期望薪资,此前的大号从招呼、回复、前几页的岗位薪资在涨幅30%+以上 用着用着聊着聊着就变成-20%,而且我开通会员之后直接0面试
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务