博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Luogu3092:[USACO13NOV]No Change
阅读量:7222 次
发布时间:2019-06-29

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

题面

Sol

状压一下\(k\)\(f[S]\)表示用过的硬币集合为\(S\)能买到的物品个数

# include 
# define RG register# define IL inline# define Fill(a, b) memset(a, b, sizeof(a))using namespace std;typedef long long ll;const int _(100005);IL ll Input(){ RG ll x = 0, z = 1; RG char c = getchar(); for(; c < '0' || c > '9'; c = getchar()) z = c == '-' ? -1 : 1; for(; c >= '0' && c <= '9'; c = getchar()) x = (x << 1) + (x << 3) + (c ^ 48); return x * z;}int k, coin[_], n, cost[_], sum[_], f[65536], ans = -1, mi[20];int main(RG int argc, RG char* argv[]){ k = Input(); n = Input(); for(RG int i = 1; i <= k; ++i) coin[i] = Input(); for(RG int i = 1; i <= n; ++i){ cost[i] = Input(); sum[i] = sum[i - 1] + cost[i]; } mi[1] = 1; for(RG int i = 2; i <= k; ++i) mi[i] = mi[i - 1] << 1; RG int S = 1 << k; for(RG int i = 0; i < S; ++i) for(RG int j = 1; j <= k; ++j){ if(i & mi[j]) continue; RG int pos = lower_bound(sum + 1, sum + n + 1, coin[j] + sum[f[i]]) - sum; if(pos > n || sum[pos] > coin[j] + sum[f[i]]) --pos; f[i | mi[j]] = max(f[i | mi[j]], pos); } for(RG int i = 0; i < S; ++i) if(f[i] == n){ RG int cnt = 0; for(RG int j = 1; j <= k; ++j) if(~i & mi[j]) cnt += coin[j]; ans = max(ans, cnt); } printf("%d\n", ans); return 0;}

转载于:https://www.cnblogs.com/cjoieryl/p/8365227.html

你可能感兴趣的文章
Redis源码解析--Replication
查看>>
Java的多进程运行模式分析
查看>>
百度面试题:求绝对值最小的数
查看>>
敏捷个人手机应用:如何使用时中法目标
查看>>
Android 解决ListView 和 ScrollView 共存冲突的问题
查看>>
利用Power Designer反向数据库结构
查看>>
在ISA 2006企业版环境下配置存储服务器(CSS)
查看>>
使用Seam-gen生成基础项目骨架
查看>>
RHCE学习<13>RHCS集群(RHCS+GFS2+ISCSI)
查看>>
Java线程:线程私有变量
查看>>
[Web开发] Web 2.0 网站估价工具
查看>>
IE8 默认以Web Standards模式显示网页 全面遵循Web标准
查看>>
网站Web项目树形菜单的实现过程(ExtJS+SpringMVC+Spring+Hibernate+MySQL)
查看>>
深入浅出Attribute(中)——Attribute本质论
查看>>
Lync 小技巧-52-Lync 2013-不加域-客户端-2-导入-证书-信任链
查看>>
Drawable、Bitmap、Canvas和Paint的关系以及部分使用方法
查看>>
DeepEarth中的几何图形基础框架模型
查看>>
Enterprise Library Step By Step系列(十):缓冲应用程序块——进阶篇
查看>>
C# 对Excel操作时,单元格值的读取
查看>>
PreparedStatement--摘抄自http://blog.chinaunix.net/u/28512/showart_221625.html
查看>>