题目传送门

看到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的更多相关文章

随机推荐

  1. [Asp.net mvc]Asp.net mvc 中使用LocalStorage

    目前使用比较多的本地存储方案有比如Flash SharedObject.Google Gears.Cookie.LocalStorage.User Data.Open Database等方案.综合比较 ...

  2. 2.Servlet基础总结

    一.简介 1.什么是Servlet Servlet(Server Applet),全称Java Servlet,未有中文译文.是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成 ...

  3. Oracle EBS 导入日记账报错

    EM29/EM01 ED01

  4. flask 的管理模块的功能add_template_global、send_from_directory

    add_template_global方法 全局模板函数 add_template_global 装饰器直接将函数注册为模板全局函数. add_template_global 这个方式是自定义的全局函 ...

  5. RabbitMQ学习---RabbitMQ的学习

    [更多参考]http://www.cnblogs.com/alex3714/articles/5248247.html

  6. Springboot 报application.properites文件找不到的解决方法

        部署项目遇到了找不到application.properties的问题.网上搜了找不到答案,后面经过测试发现,问题在于clean了maven之后,target包还没删除,所以编译的时候才会出现 ...

  7. 手动安装 pygame

    在windows下 用pip 安装pygame,老是失败,下载了 wheel文件,用pip安装还是不行,查了一下资料,可以手动安装: 1.在 http://www.lfd.uci.edu/~gohlk ...

  8. 【整理】close 和 shutdown 的原理

    http://stackoverflow.com/questions/14740852/linux-socket-close-vs-shutdown shutdown(sd, SHUT_WR)  发送 ...

  9. mysql数据类型和使用方法

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011729265/article/details/25086957         MySQL支持 ...

  10. sqoop执行job报错(org/json/JSONObject)

    NoClassDefFoundError: org/json/JSONObject: [root@hadoop2 ~]# sqoop job --create myjob7 --  import -- ...