HDU 5119
被一个学长逼着做的题。。。谢谢他了~ 题中dp[i][j] i即为第i个数,j为当前输入的数能xor到的数
同时一个数有两种选择,1.not xor 2.xor
最大的j不会超过11...11b(20个)=1048575 题目中用了1050000
#include <stdio.h>
#include <string.h>
#define MM 50
__int64 dp[MM][];
int num[MM];
int main()
{
int n,m,t,j,i;
scanf("%d",&t);
for(int cas=;cas<=t;cas++)
{
__int64 ans=;
memset(dp,,sizeof (dp)); scanf("%d %d",&n,&m);
dp[][]=;
for( i=;i<=n;i++)
{
scanf("%d",&num[i]);
}
for(i=;i<=n;i++)
{
for(j=;j<;j++)
{
dp[i][j]+=dp[i-][j]; //not xor
long long nj=j^num[i];
dp[i][nj]+=dp[i-][j]; //xor
}
}
for(i=m;i<;i++)
{
ans+=dp[n][i];
} printf("Case #%d: %I64d\n",cas,ans ); }
return ;
}
HDU 5119的更多相关文章
- HDU 5119 Happy Matt Friends (背包DP + 滚动数组)
题目链接:HDU 5119 Problem Description Matt has N friends. They are playing a game together. Each of Matt ...
- HDU 5119 Happy Matt Friends(递推)
http://acm.hdu.edu.cn/showproblem.php?pid=5119 题意:给出n个数和一个上限m,求从这n个数里取任意个数做异或运算,最后的结果不小于m有多少种取法. 思路: ...
- HDU 5119 Happy Matt Friends
Happy Matt Friends Time Limit: 6000/6000 MS (Java/Others) Memory Limit: 510000/510000 K (Java/Others ...
- 水题:HDU 5119 Happy Matt Friends
Matt has N friends. They are playing a game together.Each of Matt's friends has a magic number. In t ...
- HDU 5119 Happy Matt Friends(dp+位运算)
题意:给定n个数,从中分别取出0个,1个,2个...n个,并把他们异或起来,求大于m个总的取法. 思路:dp,背包思想,考虑第i个数,取或者不取,dp[i][j]表示在第i个数时,异或值为j的所有取法 ...
- HDU 5119 Happy Matt Friends(2014北京区域赛现场赛H题 裸背包DP)
虽然是一道还是算简单的DP,甚至不用滚动数组也能AC,数据量不算很大. 对于N个数,每个数只存在两个状态,取 和 不取. 容易得出状态转移方程: dp[i][j] = dp[i - 1][j ^ a[ ...
- hdu 5119(2014北京)
题意: 随机选择一个数,如果后面有比他小的就进行交换,直到没有为止(算一轮).求多少轮后为递增序列 思路: 倒着找,如果有比经过的最小数大的,ans+1 #include <iostream&g ...
- HDU - 5119 Happy Matt Friends(dp)
题目链接 题意:n个数,你可以从中选一些数,也可以不选,选出来的元素的异或和大于m时,则称满足情况.问满足情况的方案数为多少. 分析:本来以为是用什么特殊的数据结构来操作,没想到是dp,还好队友很强. ...
- HDU 5119 Happy Matt Friends(DP || 高斯消元)
题目链接 题意 : 给你n个数,让你从中挑K个数(K<=n)使得这k个数异或的和小于m,问你有多少种异或方式满足这个条件. 思路 : 正解据说是高斯消元.这里用DP做的,类似于背包,枚举的是异或 ...
随机推荐
- let和expr比较
1.空格 let:要求任何操作符两边不能含有空格 expr:必须有空格 2.运算符转义 expr:要求 let:没有要求 [xiluhua@vm-xiluhua][~]$ let * -bash: l ...
- bodybuilding
增大肌肉块的14大秘诀:大重量.低次数.多组数.长位移.慢速度.高密度.念动一致.顶峰收缩.持续紧张.组间放松.多练大肌群.训练后进食蛋白质.休息48小时.宁轻勿假. 1. 大重量.低次数:健美理论中 ...
- java 判断某一天是当年的哪一天
题目:输入年份,月份,日,判断这一天是这一年的第几天?(闰年的2月份为29天,平年为28天) public class Runnian { /** * 能被4整除且不能被100整除或者能被400整除的 ...
- [ios]纯代码实现UITableViewCell的自定义扩展
(转)参考:http://blog.sina.com.cn/s/blog_65cbfb2b0101cd60.html 第一种, 简单的增加UITableViewCell一些小功能 例如在cell上面添 ...
- win7里边使用telnet命令提示telnet不是内部或外部命令
Win7默认没有安装telnet功能,所以你直接用telnet命令是用不了的: 你可以去“控制面板”-->“程序”(在左下角)--->“打开或关闭Windows功能”,勾上“telnet客 ...
- HDU 2067:小兔的棋盘
小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- 关于BufferedWriter.write超过30W条数据写入过慢问题。
原创文章,转载请注明出处! ------------------------------------------------------------ 今天接到一个项目需求变更,是关于从数据库查询到30 ...
- Round Numbers(组合数学)
Round Numbers Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10484 Accepted: 3831 Descri ...
- python代码
f=open('/home/xbwang/newtextsimilarity/data/glove/glove.840B.300d.txt','r') count = 0 print ' '.join ...
- Java中的的XML文件读写
XML简介 要理解XML,HTML等格式,先来理解文档对象模型DOM 根据 DOM,HTML 文档中的每个成分都是一个节点,这些节点组成了一棵树.DOM 是这样规定的:整个文档是一个文档节点每个 HT ...