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)的主要内容,如果未能解决你的问题,请参考以下文章