Codeforces Round #191(Div.2) E 문항
6752 단어 codeforces
1 #include <iostream>
2 #include <cstring>
3 #include <cstdio>
4 #include <queue>
5 #include <cstdlib>
6 using namespace std;
7 #define MOD 1000000007
8 int p[10001];
9 int hash[1<<24];
10 int sum[1<<24];
11 int k[3];
12 int lowbit(int t)
13 {
14 return t&(-t);
15 }
16 int main()
17 {
18 int n,m,i,j;
19 scanf("%d",&n);
20 for(i = 0; i < n; i ++)
21 {
22 scanf("%d",&p[i]);
23 }
24 scanf("%d",&m);
25 for(i = 1; i <= m; i ++)
26 {
27 scanf("%d",&k[i]);
28 }
29 if(m == 1) k[2] = k[1];
30 hash[0] = 1;
31 for(i = 0;i < n;i ++)
32 sum[1<<i] = p[i];
33 for(i = 1; i < (1<<n); i ++)
34 {
35 sum[i] = sum[i-lowbit(i)] + sum[lowbit(i)];
36 if(sum[i] == k[1]||sum[i] == k[2])
37 continue;
38 for(j = i; j > 0; j -= lowbit(j))
39 {
40 hash[i] += hash[i-lowbit(j)];
41 if(hash[i] > MOD)
42 hash[i] -= MOD;
43 }
44 }
45 printf("%d
",hash[(1<<n)-1]);
46 return 0;
47 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Codeforces Round #715 Div. 2C The Sports Festival: 구간 DP전형구간 DP의 초전형. 이하, 0-indexed. 입력을 정렬하여 어디서나 시작하고 최적으로 좌우로 계속 유지하면 좋다는 것을 알 수 있습니다. {2000})$의 주문이 된다. 우선, 입력을 소트하여 n개의 요소를 $...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.