(5119)HDU-类背包
来源:互联网 发布:unity3d引擎架构 编辑:程序博客网 时间:2024/06/08 07:07
看数一巨巨的博客写的,,,准备开始学DP了,是不是很晚···,这个题的有点像背包,状态转移还是很好写的,主要注意初始化的地方
#include<iostream>
#include<cstdio>#include<string.h>
#include<string>
#include<set>
#include<algorithm>
#include<cmath>
#define ll __int64
#define MAX 1000009
using namespace std;
int a[50];
ll dp[50][1<<20];//dp[i][j]的含义 表示用了i个数结果是j的方案数
//转移方程 dp[i][j] += dp[i-1][j]; dp[i][j^a[i]] += dp[i-1][j];
int main()
{
int cas = 1;
int n,m,t;
ll cot;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
for(int i = 0;i<n;i++)
{
scanf("%d",&a[i]);
}
memset(dp,0,sizeof(dp));
dp[0][a[0]] = 1;//用了0个数 得数为a[0]的方案数为1
dp[0][0] = 1;//规定0 得数为0的方案数为1
for(int i = 1;i<=n;i++)
{
for(int j = 0;j<1<<20;j++)
{
dp[i][j]+=dp[i-1][j];//i个方案得出j的等于前i-1的方案得出j的和
dp[i][j^a[i]]+=dp[i-1][j];//j^a[i]的方案数等于前i-1个等于j的方案数+本身
}
}
cot = 0;
for(int i = 1<<20-1;i>=m;i--)
{
cot+=dp[n-1][i];
}
printf("Case #%d: %I64d\n",cas++,cot);
}
return 0;
}
1 0
- (5119)HDU-类背包
- HDU 5119 背包
- hdu 2069--类完全背包
- HDU 5119 Happy Matt Friends (14北京 类背包dp)
- hdu 5119 Happy Matt Friends (背包,高斯消元)
- HDU-5119 Happy Matt Friends(背包)
- -----背包 DP hdu 5119- Happy Matt Friends
- hdu 1421 搬寝室--类背包问题
- HDU 5234 Happy birthday 类背包dp
- 01背包+完全背包 HDU
- hdu 1114 完全背包
- hdu 2844 DP 背包
- HDU 2602经典背包
- hdu 1114 完全背包
- hdu 2955 小数背包
- hdu 1203 小数背包
- HDU 3535 混合背包
- hdu 2191 多重背包
- 修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题
- [ASP.NET-VI] 发布ASP.NET网站(Windows IIS + SQL Server 2008 + VS2008)
- Sencha touch 基础学习
- iOS开发之多媒体播放
- Win32 SDC 编程
- (5119)HDU-类背包
- arcgis脚本Python批量裁切与统计实现
- 酒吧沙发订做_沙发维修_保养沙发知多少?
- JNI传参数
- ssh批量分发数据
- Edit Distance
- linux下mysql忘记密码解决备忘
- ADB server didn't ACK;* failed to start daemon *
- 写一个bat文件,删除文件名符合特定规则,且更改日期在某个日期之前的所有目录