hdu 5119 Happy Matt Friends
来源:互联网 发布:数据加密标准 编辑:程序博客网 时间:2024/05/18 03:45
题意:n个数,可以取其中一部分来异或,问全部异或结果不小于m有多少种取法。
思路:dp(背包)。dp(i,j)表示取到第i个数,异或结果为j,有多少种方法。初态是有一种取法取得0,然后对每个数,有两种选择,取或不取,加上上一步的路径数就可以了。最后将dp(n,j)中j>=m的部分求和就行。需要注意的是,会爆int。
#include<iostream>#include<cmath>#include<queue>#include<map>#include<set>#include<vector>#include<algorithm>#include<string.h>#include<cstdio>using namespace std;#define ll long longint a[50];bool vis[1050010];ll dp[2][1050010];vector<int> vec;int main(){ int t; cin>>t; int cas=0; while(t--){ cas++; memset(vis,0,sizeof(vis)); memset(dp,0,sizeof(dp)); vec.clear(); int n,m; cin>>n>>m; for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } vec.push_back(0); vis[0]=1; dp[0][0]=1; for(int i=1;i<=n;i++){ int siz=vec.size(); int& cur=a[i]; for(int j=0;j<siz;j++){ dp[i&1][vec[j]]=0; } for(int j=0;j<siz;j++){ dp[i&1][vec[j]^cur]+=dp[(i-1)&1][vec[j]]; dp[i&1][vec[j]]+=dp[(i-1)&1][vec[j]]; if(vis[vec[j]^cur]==0){ vis[vec[j]^cur]=1; vec.push_back(vec[j]^cur); } } } ll ans=0; for(int i=m;i<1050010;i++){ ans+=dp[n&1][i]; } printf("Case #%d: %I64d\n",cas,ans); } return 0;}
0 0
- hdu 5119 Happy Matt Friends
- HDU-5119-Happy Matt Friends
- HDU 5119 Happy Matt Friends
- HDU 5119 Happy Matt Friends
- hdu 5119 Happy Matt Friends
- HDU 5119 Happy Matt Friends
- Happy Matt Friends HDU
- hdu 5119 Happy Matt Friends (背包,高斯消元)
- HDU--5119Happy Matt Friends+dp
- HDU 5119 Happy Matt Friends(DP)
- HDU 5119 Happy Matt Friends - DP
- HDU 5119 Happy Matt Friends(DP)
- hdu 5119 Happy Matt Friends(dp)
- HDU - 5119 Happy Matt Friends(DP)
- HDU 5119 Happy Matt Friends(dp)
- HDU 5119 Happy Matt Friends(DP)
- hdu 5119 Happy Matt Friends【dp】
- HDU 5119 Happy Matt Friends(dp)
- android开发中SharedPreferences用法详解(含源代码和运行结果截图)
- asp.net NHibernate Spring.net 框架搭建(开源)
- 32位汇编语言学习笔记(10)--分析for循环的汇编代码
- PHP导出CSV文件
- 网络 两边通信 net io SetverSocket Socket DataInputStream OutputStream getInputStream getOutputStream
- hdu 5119 Happy Matt Friends
- Servlet 中文乱码问题及解决方案剖析
- 从这里起航!
- IOS开发---C语言-㉔递归函数
- Logistic Regression(逻辑回归)(二)—深入理解
- 7个改变世界的Java项目
- MongoDB查询数组
- QUdpSocket Class
- Leetcode_9_Palindrome Number