ARC 68F - Solitaire(dp)

Posted Harris-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARC 68F - Solitaire(dp)相关的知识,希望对你有一定的参考价值。

ARC 68F - Solitaire(dp)

参考

https://blog.csdn.net/Fate_Zero_Saber/article/details/79391028

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#define fo(i,a,b) for(i=a;i<=b;i++)
#define fo1(i,b,a) for(i=b;i>=a;i--)

using namespace std;

const int maxn=1005,md=1e9+7;

int f[maxn][maxn],sum[maxn];
int i,j,k,l,m,n,x,y,ans;

int main()
//  freopen("068f.in","r",stdin);
    scanf("%d%d",&n,&k);
    f[0][n+1]=1;
    fo(i,1,k)
        sum[n+1]=f[i-1][n+1];
        fo1(j,n,1) sum[j]=(sum[j+1]+f[i-1][j])%md;
        fo(j,1,n-i+1) f[i][j]=sum[j];
    
    f[k][1]=f[k][1]-f[k-1][1];
    fo(i,1,n-k-1) f[k][1]=(f[k][1]*2)%md;
    printf("%d\\n",f[k][1]);
    return 0;

以上是关于ARC 68F - Solitaire(dp)的主要内容,如果未能解决你的问题,请参考以下文章

做题arc068_f-Solitaire——糊结论

UVa 10651 Pebble Solitaire(DP 记忆化搜索)

Atcoder ARC101 E 树dp

ARC073FMany Moves

ARC093F Dark Horse 容斥,状压dp

ARC068FSolitaire 前缀和优化dp