点击这里查看原题

先把每个人按k升序排序, f [ i ] 表示完成状态i的最小花费,计算出显示器数量分别为 k [ j ] 时 f [ ( 1 < < m ) - 1 ] 的最小值,ans = min { f [ ( 1 < < m ) - 1 ] + k [ j ] * b }。

/*
User:Small
Language:C++
Problem No.:417D
*/
#include<bits/stdc++.h>
#define ll long long
#define inf 999999999
using namespace std;
const int M=(1<<20)+5;
int n,m;
ll ans=5e18,f[M],b;
struct no{ll x,k;int d;bool operator<(const no b)const{return k<b.k;}
}p[105];
void cal(int x){for(int i=0;i<(1<<m);i++)f[i|p[x].d]=min(f[i|p[x].d],f[i]+p[x].x);ans=min(ans,f[(1<<m)-1]+p[x].k*b);
}
int main(){
//  freopen("data.in","r",stdin);//ios::sync_with_stdio(0);cin>>n>>m>>b;for(int i=1;i<=n;i++){int tot,x;cin>>p[i].x>>p[i].k>>tot;while(tot--){cin>>x;p[i].d|=1<<(x-1);}}sort(p+1,p+n+1);for(int i=1;i<(1<<m);i++) f[i]=5e18;f[0]=0;for(int i=1;i<=n;i++) cal(i);if(ans>=5e18) ans=-1;cout<<ans<<endl;return 0;
}

[CF 417D]Cunning Gena:状压DP相关推荐

  1. POJ 1038 Bugs Integrated Inc (复杂的状压DP)

    \(POJ~1038~~*Bugs~Integrated~Inc:\) (复杂的状压DP) \(solution:\) 很纠结的一道题目,写了大半天,就想练练手,结果这手生的.其实根据之前那道炮兵阵地 ...

  2. codeforces 8C. Looking for Order 状压dp

    题目链接 给n个物品的坐标, 和一个包裹的位置, 包裹不能移动. 每次最多可以拿两个物品, 然后将它们放到包里, 求将所有物品放到包里所需走的最小路程. 直接状压dp就好了. #include < ...

  3. UVA10296 Jogging Trails(中国邮递员问题)(欧拉回路、一般图最大权匹配 / 状压DP)

    整理的算法模板合集: ACM模板 目录 思路 UVA10296 Jogging Trails 题目翻译: 给你n个点,m条无向边,每条边有一定的距离数值,构造成一个连通图.问从任意一点出发,遍历所有的 ...

  4. POJ 2411 Mondriaan‘s Dream(最清楚好懂的状压DP讲解)(连通性状态压缩DP)

    poj 2411 Mondriaan's Dream(最清晰的状压DP解析) 闫氏DP大法好 我们这里是一列一列地来,因为是一个棋盘性的状态压缩DP,从哪个方向都一样 摆放的小方格总方案数 等价于 横 ...

  5. 【每日DP】day2、P1879 [USACO06NOV]Corn Fields G玉米地(状压DP模板题)难度⭐⭐⭐★

    昨天的每日DP我还在写01背包,今天就到状压DP了,真刺激. P1879 [USACO06NOV]Corn Fields G 题目链接 输入 2 3 1 1 1 0 1 0 输出 9 一道简单的状压D ...

  6. hdu 4778 Gems Fight! 状压dp

    转自wdd :http://blog.csdn.net/u010535824/article/details/38540835 题目链接:hdu 4778 状压DP 用DP[i]表示从i状态选到结束得 ...

  7. 【洛谷 P1896】[SCOI2005]互不侵犯(状压dp)

    题目链接 题意:在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. 这是道状压\(DP\)好题啊.. ...

  8. P2340 奶牛会展(状压dp)

    P2340 奶牛会展 题目背景 奶牛想证明它们是聪明而风趣的.为此,贝西筹备了一个奶牛博览会,她已经对N 头奶牛进行 了面试,确定了每头奶牛的智商和情商. 题目描述 贝西有权选择让哪些奶牛参加展览.由 ...

  9. UVa 11825 (状压DP) Hackers' Crackdown

    这是我做状压DP的第一道题,状压里面都是用位运算来完成的,只要耐下心来弄明白每次位运算的含义,还是容易理解的. 题意: 有编号为0~n-1的n台服务器,每台都运行着n中服务,每台服务器还和若干台其他服 ...

  10. bzoj1402 Ticket to Ride 斯坦纳树 + 状压dp

    给定\(n\)个点,\(m\)条边的带权无向图 选出一些边,使得\(4\)对点之间可达,询问权值最小为多少 \(n \leqslant 30, m \leqslant 1000\) 首先看数据范围,\ ...

最新文章

  1. 要强大的“黑匣子”,还是“可解释”的机器学习?| 清华AI Time激辩
  2. 漫画 | 程序员联名把产品经理告上县衙,并列了 8 大罪状
  3. java自定义注解简单小例子
  4. vue树形结构html,怎么在vue中利用递归组件实现一个树形控件
  5. 基于PHP的CURL快速入门
  6. 如果您遇到文件或数据库问题,如何重置Joomla
  7. MVC三层架构(详解)
  8. pat 乙级 1014 福尔摩斯的约会 (C++)
  9. DCOM 遇到错误“登录失败: 未知的用户名或错误密码
  10. 字体系列之字体大小(CSS、HTML)
  11. 求一天的起始和结束(时间戳)和一个月的第一天和最后一天
  12. WES学习2:外显子测序分析——小男孩的硬骨化病基因突变
  13. 传智博客 JavaWeb方面的所有知识 听课记录 经典
  14. java发送会议邀请邮件模板_使用java发送每封电子邮件的日历邀请
  15. sql 凭证明细表 科目余额表_转用友科目余额表sql和软件中的一样
  16. 软件设计交流系统-用户手册与帮助文档
  17. Linux power supply framwork drvs
  18. AOSP 8.0 系统启动之四ART虚拟机启动(一)
  19. 关于显示器显示输入信号超出范围,请调整为1600x900@60hz解决办法
  20. mysql 空集 赋值,mysql – 是否有一个简单的SELECT-Statement创建一个空集?

热门文章

  1. 对与、或、非、异或、或非、与非的理解和记忆
  2. 从零实现“百度网盘批量重命名”工具
  3. 拥抱变化,面向Java17,Java8-18全系列特性详解
  4. 1193 Eason
  5. 设置一绝对地址为0x67a9的整型变量的值为0xaa66
  6. 常见的几个接口管理平台简介
  7. 线性不可分转可分----低维空间转高维空间
  8. 服务机器人研究报告:产业链分析及投资前景预测
  9. 淘宝直通车可以退款吗?怎么退?
  10. 5.2.1_3 普通心理学(彭冉玲第四版) - 第2章 心理的神经生理机制