思路:

状态压缩 + dp。

实现:

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; const int INF = 0x3f3f3f3f; int t, n, m, s;
int V[], S[], dp[][( << ) + ]; int dfs(int now, int s)
{
if (dp[now][s] != -)
return dp[now][s];
if (now == n)
{
if (s == ( << m) - )
return ;
return -INF;
}
int x = dfs(now + , s ^ S[now]) + V[now];
int y = dfs(now + , s);
return dp[now][s] = max(x, y);
} int main()
{
cin >> t;
while (t--)
{
memset(dp, -, sizeof(dp));
cin >> n >> m;
for (int i = ; i < n; i++)
{
cin >> V[i] >> s;
int tmp = , total = ;
for (int j = ; j < s; j++)
{
cin >> tmp;
tmp--;
total |= ( << tmp);
}
S[i] = total;
}
cout << dfs(, ) << endl;
}
return ;
}

最新文章

  1. NetBeans invalid jdkhome specified 问题解决方法
  2. BZOJ 2724: [Violet 6]蒲公英
  3. 毕向东JAVA基础25天教程目录
  4. OpenCV 3.0 VS2010 Configuration
  5. PHPCMS V9 环境搭建
  6. hdu 4972 A simple dynamic programming problem (转化 乱搞 思维题) 2014多校10
  7. SliderSkin
  8. 转:windows下使用gvim搭建简单的IDE编译环境(支持C/C++/Python等)
  9. 笔试之Linux命令的使用
  10. Redis 集群解决方案比较
  11. php MYSQL 一条语句中COUNT出不同的条件
  12. 卷积神经网络CNN公式推导走读
  13. &quot;_OBJC_CLASS_$_MAMapServices&quot;, referenced from: 的问题修复
  14. Nullable object must have a value
  15. 字符缓冲流BufferedWriter BufferedReader
  16. Hibernate复习
  17. Java多线程学习笔记之三内存屏障与Java内存模型
  18. TED_Topic10:The case for engineering our food
  19. JDK 12又来了,我学不动了...
  20. “Hello World!”团队第七次Scrum立会

热门文章

  1. OTG识别原理
  2. Solr 文章集成
  3. hdu 4970 Killing Monsters(数组的巧妙运用) 2014多校训练第9场
  4. (八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text
  5. Win32 Windows编程 七
  6. HTML的DOM和浏览器的BOM
  7. os 2大功能
  8. forword 与 redirect
  9. 解决Android 6.0获取wifi Mac地址为02:00:00:00:00:00问题【转】
  10. Ural 2003: Simple Magic(数论&amp;思维)