博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj4145 [AMPPZ2014]The Prices(状压dp)
阅读量:6681 次
发布时间:2019-06-25

本文共 772 字,大约阅读时间需要 2 分钟。

Description

你要购买m种物品各一件,一共有n家商店,你到第i家商店的路费为d[i],在第i家商店购买第j种物品的费用为c[i][j],
求最小总费用。

Input

第一行包含两个正整数n,m(1<=n<=100,1<=m<=16),表示商店数和物品数。
接下来n行,每行第一个正整数d[i](1<=d[i]<=1000000)表示到第i家商店的路费,接下来m个正整数,
依次表示c[i][j](1<=c[i][j]<=1000000)。

Output

一个正整数,即最小总费用。

Sample Input

3 4
5 7 3 7 9
2 1 20 3 2
8 1 20 1 1

Sample Output

16

HINT

在第一家店买2号物品,在第二家店买剩下的物品。

 

 
蠢了……这么裸的状压dp都没看出来……
设$dp[i][j]$表示在前$i$个商店里,买的东西的状态为$j$时的最小花费
然后每一个商店跑一下背包就可以啦
1 //minamoto 2 #include
3 using namespace std; 4 template
inline bool cmin(T&a,const T&b){
return a>b?a=b,1:0;} 5 int n,m,lim,c[105][21],d[105],dp[105][(1<<16)+5]; 6 int main(){ 7 // freopen("testdata.in","r",stdin); 8 scanf("%d%d",&n,&m),lim=1<

 

转载于:https://www.cnblogs.com/bztMinamoto/p/9787776.html

你可能感兴趣的文章
js获取链接地址
查看>>
Android自动化问题小结
查看>>
Linux/Uninx下Tcpdump命令详解
查看>>
mac 使用“终端”远程登录 linux 主机
查看>>
avhttp终于支持了gzip/chunked
查看>>
《设计模式 系列》- 创建型模式 - 状态模式
查看>>
WebService之Axis2快速入门(4): 传输二进制文件
查看>>
subversion中去除不需要的目录
查看>>
Android内核开发:从源码树中删除出厂的app应用
查看>>
Node.js+Express商业开发中的安全性考虑
查看>>
Python 学习笔记 - 上下文
查看>>
linux技术手册
查看>>
jquery的验证formValidator
查看>>
poj 其他
查看>>
UNIX epoch -- 为什么UNIX的时间起始于1970.01.01
查看>>
推荐10个HTML5游戏网站
查看>>
ios中的动画
查看>>
在pcDuino实现AP–wifi热点共享
查看>>
mysql实时记录客户端提交的sql语句
查看>>
多线程学习笔记(五)
查看>>