HDU5119【dp背包求方案数】
2016-09-19 22:28
176 查看
题意:
有n个数,问有多少方案满足取几个数的异或值>=m;
思路:
背包思想,每次就是取或不取,然后输出>=m的方案就好了。
有n个数,问有多少方案满足取几个数的异或值>=m;
思路:
背包思想,每次就是取或不取,然后输出>=m的方案就好了。
#include <bits/stdc++.h> using namespace std; typedef long long LL; const int N=2097150+10; LL dp[2] ; int a[50]; int n,m; int main() { int cas=1; int T; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); // int tmax=0; // int temp=0; for(int i=1;i<=n;i++) { scanf("%d",&a[i]); // temp^=a[i]; // if(tmax<temp) // tmax=temp; } printf("Case #%d: ",cas++); // if(tmax<m) // { // puts("0"); // continue; // } memset(dp,0,sizeof(dp)); int k=1; dp[1][0]=1; for(int i=1;i<=n;i++) { k=1-k; for(int j=0;j<=N-10;j++) dp[k][j]=dp[1-k][j]+dp[1-k][j^a[i]]; //取或不取; } long long ans=0; for(int i=m;i<=N-10;i++) ans+=dp[k][i]; printf("%lld\n",ans); } return 0; }
相关文章推荐
- 【日常学习】【背包DP】codevs1155 金明的预算方案题解
- hdu 2126 DP 方案数背包
- tyvj 1057 金明的预算方案 背包dp
- luogu P2066 机器分配[背包dp+方案输出]
- Luogu P1417烹调方案【dp/背包】By cellur925
- [luoguP1417] 烹调方案(背包DP)
- 【解题报告】uva357_Let Me Count The Ways(让我来数数方案, dp, 完全背包)
- NOIP2012pj摆花[DP 多重背包方案数]
- bzoj1708[Usaco2007 Oct]Money奶牛的硬币(背包方案数dp)
- 洛谷P1064 金明的预算方案(DP,0-1背包)
- codevs1297 硬币(背包dp,方案数)
- 洛谷 1064 [NOIP2006] 金明的预算方案 背包DP
- 洛谷 P1064 金明的预算方案(背包dp)
- ACM 背包DP [NOIP2006]金明的预算方案(budget)
- WUSTOJ 1878 金明的预算方案(有依赖的背包/树形DP)
- 依赖背包dp NOIP2006 vijos 1313 金明的预算方案
- NOIP2006金明的预算方案[DP 有依赖的背包问题]
- Codevs1155 金明的预算方案 ——2006年NOIP全国联赛提高组 变种经典背包dp
- Sicily 1346 金明的预算方案 (SOJ 1346) 【DP 动态规划-背包问题】
- 金明的预算方案 (有依赖的背包/树形dp)