BZOJ4145_The Prices_KEY
看到M<=16经典状态压缩的数据范围,考虑题目。
一道类似于背包的题目。
设f[i][j]表示前i个商店,物品购买状态为j。
先将f[i][j]加上w[i](到i的路费),转移一次,在与同状态的前一商店取min就好了。
code:
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; int N,M,a[][],w[];
int f[][<<]; int main()
{
scanf("%d%d",&N,&M);
for(int i=;i<=N;i++){
scanf("%d",&w[i]);
for(int j=;j<=M;j++)scanf("%d",&a[i][j]);
}
for(int S=;S<<<M;S++)f[][S]=1e9;
for(int i=;i<=N;i++){
for(int S=;S<<<M;S++)f[i][S]=f[i-][S]+w[i];
for(int S=;S<<<M;S++)
for(int j=;j<=M;j++)
if(!(S&(<<j-)))f[i][S|(<<j-)]=min(f[i][S|(<<j-)],f[i][S]+a[i][j]);
for(int S=;S<<<M;S++)f[i][S]=min(f[i][S],f[i-][S]);
}
printf("%d",f[N][(<<M)-]);
return ;
}
BZOJ4145_The Prices_KEY的更多相关文章
随机推荐
- 关于 ExpressRoute 的虚拟网络网关
虚拟网络网关用于在 Azure 虚拟网络和本地位置之间发送网络流量. 配置 ExpressRoute 连接时,必须创建并配置虚拟网络网关和虚拟网络网关连接. 创建虚拟网络网关时,需要指定几项设置. 其 ...
- 记开发个人图书收藏清单小程序开发(七)DB设计
前面的书房初始化的前端信息已经完善,所以现在开始实现DB的Script部分. 新增Action:Shelf_Init.sql svc.sql CREATE SCHEMA [svc] AUTHORIZA ...
- ORACLE DBA应该掌握的9个免费工具
TOP1 : 录像机OS Watcher 如果说,作为一个Oracle维护工程师,你至少应该装一个工具在你维护的系统里,那么我首推这个.它就像银行自助取款机顶上的摄像头,默默的记录下你操作系统中的 ...
- iOS设计模式 - 组合
iOS设计模式 - 组合 原理图 说明 将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性.掌握组合模式的重点是要理解清楚 “部分/整体” 还有 ...
- pandas模块安装问题笔记
1. # pip install pandas 引用 pandas 时,没有模块 ,进行模块安装,出现一推英文提示 结果 Collecting pandas Could not fetch URL ...
- 最大公约数(GCD)与最小公倍数(LCM)的计算
给出两个数a.b,求最大公约数(GCD)与最小公倍数(LCM) 一.最大公约数(GCD) 最大公约数的递归: * 1.若a可以整除b,则最大公约数是b * 2.如果1不成立,最大公约数便是b ...
- 【Excel】坐下,VLOOKUP基本操作
坐下,VLOOKUP基本操作 VLOOKUP如何使用我就不在这里详细介绍了,简单说一下好了. 如上图,第一个填写你要查找的值,第二个空选取你查找的范围,第三个空填你要得到第几列的值,最后选 ...
- October 09th 2017 Week 41st Monday
My motto is: Contended with little, yet wishing for more. 我的座右铭是:为一点点感到满足,但希望获得更多. If you can live y ...
- 关于print缩不缩进%有else没else的影响
关于print缩不缩进%有else没else的影响 if gender == "男": # = 赋值. == 判断print("上厕所")else: print ...
- 第二次作业 APP分析
第一部分 调研, 评测 1.下载软件并使用. 今天我要分析的软件app是UC浏览器这个软件,UC浏览器的用户群体还是挺多的,作为一款主流之一的浏览器APP,整体的用户体验还是很好的.简洁的界面还有中间 ...