给一个序列,可以任意重排,但是前缀和不能出现给定数字中的数,问有几种排列方式
n<=24,这样的数量级不是搜索就是状压。明显这道题目是状压。
dp[i]表示选的状态为i的方案数
这题主要练习通过lowbit优化的dp
#includeusing namespace std ;const int p = 1e9+7;const int M = (1<<25) ;int lowbit(int x){return x&-x;}int sum[M],a[25],no[3],dp[M] ;int n,k ;int main(){ scanf("%d",&n) ; for (int i=0;i