[CF 417D]Cunning Gena:状压DP
点击这里查看原题
先把每个人按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相关推荐
- POJ 1038 Bugs Integrated Inc (复杂的状压DP)
\(POJ~1038~~*Bugs~Integrated~Inc:\) (复杂的状压DP) \(solution:\) 很纠结的一道题目,写了大半天,就想练练手,结果这手生的.其实根据之前那道炮兵阵地 ...
- codeforces 8C. Looking for Order 状压dp
题目链接 给n个物品的坐标, 和一个包裹的位置, 包裹不能移动. 每次最多可以拿两个物品, 然后将它们放到包里, 求将所有物品放到包里所需走的最小路程. 直接状压dp就好了. #include < ...
- UVA10296 Jogging Trails(中国邮递员问题)(欧拉回路、一般图最大权匹配 / 状压DP)
整理的算法模板合集: ACM模板 目录 思路 UVA10296 Jogging Trails 题目翻译: 给你n个点,m条无向边,每条边有一定的距离数值,构造成一个连通图.问从任意一点出发,遍历所有的 ...
- POJ 2411 Mondriaan‘s Dream(最清楚好懂的状压DP讲解)(连通性状态压缩DP)
poj 2411 Mondriaan's Dream(最清晰的状压DP解析) 闫氏DP大法好 我们这里是一列一列地来,因为是一个棋盘性的状态压缩DP,从哪个方向都一样 摆放的小方格总方案数 等价于 横 ...
- 【每日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 ...
- hdu 4778 Gems Fight! 状压dp
转自wdd :http://blog.csdn.net/u010535824/article/details/38540835 题目链接:hdu 4778 状压DP 用DP[i]表示从i状态选到结束得 ...
- 【洛谷 P1896】[SCOI2005]互不侵犯(状压dp)
题目链接 题意:在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. 这是道状压\(DP\)好题啊.. ...
- P2340 奶牛会展(状压dp)
P2340 奶牛会展 题目背景 奶牛想证明它们是聪明而风趣的.为此,贝西筹备了一个奶牛博览会,她已经对N 头奶牛进行 了面试,确定了每头奶牛的智商和情商. 题目描述 贝西有权选择让哪些奶牛参加展览.由 ...
- UVa 11825 (状压DP) Hackers' Crackdown
这是我做状压DP的第一道题,状压里面都是用位运算来完成的,只要耐下心来弄明白每次位运算的含义,还是容易理解的. 题意: 有编号为0~n-1的n台服务器,每台都运行着n中服务,每台服务器还和若干台其他服 ...
- bzoj1402 Ticket to Ride 斯坦纳树 + 状压dp
给定\(n\)个点,\(m\)条边的带权无向图 选出一些边,使得\(4\)对点之间可达,询问权值最小为多少 \(n \leqslant 30, m \leqslant 1000\) 首先看数据范围,\ ...
最新文章
- 要强大的“黑匣子”,还是“可解释”的机器学习?| 清华AI Time激辩
- 漫画 | 程序员联名把产品经理告上县衙,并列了 8 大罪状
- java自定义注解简单小例子
- vue树形结构html,怎么在vue中利用递归组件实现一个树形控件
- 基于PHP的CURL快速入门
- 如果您遇到文件或数据库问题,如何重置Joomla
- MVC三层架构(详解)
- pat 乙级 1014 福尔摩斯的约会 (C++)
- DCOM 遇到错误“登录失败: 未知的用户名或错误密码
- 字体系列之字体大小(CSS、HTML)
- 求一天的起始和结束(时间戳)和一个月的第一天和最后一天
- WES学习2:外显子测序分析——小男孩的硬骨化病基因突变
- 传智博客 JavaWeb方面的所有知识 听课记录 经典
- java发送会议邀请邮件模板_使用java发送每封电子邮件的日历邀请
- sql 凭证明细表 科目余额表_转用友科目余额表sql和软件中的一样
- 软件设计交流系统-用户手册与帮助文档
- Linux power supply framwork drvs
- AOSP 8.0 系统启动之四ART虚拟机启动(一)
- 关于显示器显示输入信号超出范围,请调整为1600x900@60hz解决办法
- mysql 空集 赋值,mysql – 是否有一个简单的SELECT-Statement创建一个空集?