hihocoder offer收割编程练习赛11 B 物品价值
2024-09-07 18:58:51
思路:
状态压缩 + 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 ;
}
最新文章
- NetBeans invalid jdkhome specified 问题解决方法
- BZOJ 2724: [Violet 6]蒲公英
- 毕向东JAVA基础25天教程目录
- OpenCV 3.0 VS2010 Configuration
- PHPCMS V9 环境搭建
- hdu 4972 A simple dynamic programming problem (转化 乱搞 思维题) 2014多校10
- SliderSkin
- 转:windows下使用gvim搭建简单的IDE编译环境(支持C/C++/Python等)
- 笔试之Linux命令的使用
- Redis 集群解决方案比较
- php MYSQL 一条语句中COUNT出不同的条件
- 卷积神经网络CNN公式推导走读
- ";_OBJC_CLASS_$_MAMapServices";, referenced from: 的问题修复
- Nullable object must have a value
- 字符缓冲流BufferedWriter BufferedReader
- Hibernate复习
- Java多线程学习笔记之三内存屏障与Java内存模型
- TED_Topic10:The case for engineering our food
- JDK 12又来了,我学不动了...
- “Hello World!”团队第七次Scrum立会
热门文章
- OTG识别原理
- Solr 文章集成
- hdu 4970 Killing Monsters(数组的巧妙运用) 2014多校训练第9场
- (八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text
- Win32 Windows编程 七
- HTML的DOM和浏览器的BOM
- os 2大功能
- forword 与 redirect
- 解决Android 6.0获取wifi Mac地址为02:00:00:00:00:00问题【转】
- Ural 2003: Simple Magic(数论&;思维)