对于包排序

状压DP

#include<cstdio>
#include<algorithm>
using namespace std;
int F[20000005],ID[20000005],G[20000005],a[105],v[105];
int lowbit(int x){return x&(-x);
}
bool cmp(long long a,long long b){return a>b;
}
int main(){int n,m;scanf("%d%d",&n,&m);for (int i=0; i<n; i++) scanf("%d",&a[i]);for (int i=0; i<m; i++) scanf("%d",&v[i]);sort(v,v+m,cmp);for (int i=0; i<(1<<n); i++) F[i]=1e9;for (int i=0; i<n; i++) ID[1<<i]=i;F[0]=G[0]=-1;for (int now=1; now<(1<<n); now++){for (int j=now; j; j-=lowbit(j)){int i=lowbit(j);int f=F[now-i],g=G[now-i];if (f>n) continue;int tof=f,tog=g-a[ID[i]];if (tog<0) tof++,tog=v[tof]-a[ID[i]];if (tog>=0 && (tof<F[now] || tof==F[now] && tog>G[now])) F[now]=tof,G[now]=tog;}}if (F[(1<<n)-1]!=1e9) printf("%d\n",F[(1<<n)-1]+1);else printf("NIE\n");return 0;
}

  

转载于:https://www.cnblogs.com/silenty/p/9864826.html

BZOJ 3717: [PA2014]Pakowanie相关推荐

  1. [PA2014]Pakowanie

    [PA2014]Pakowanie 题目大意: \(n(n\le24)\)个物品和\(m(m\le100)\)个背包,每个物体有一个体积\(a_i\),每个背包有一个容量\(c_i\).问装完所有物品 ...

  2. bzoj 3714: [PA2014]Kuglarz

    3714: [PA2014]Kuglarz Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 1151  Solved: 611 [Submit][St ...

  3. bzoj 3709: [PA2014]Bohater

    3709: [PA2014]Bohater 链接 http://www.lydsy.com/JudgeOnline/problem.php?id=3709 题面 在一款电脑游戏中,你需要打败n只怪物( ...

  4. [BZOJ]3727: PA2014 Final Zadanie

    题解:  我们可以得到 $  b[fa_i]+Sum-2*sz[i]=b[i] $ 然后我们把n-1条边的价值求和起来化简 $  (n-1)*Sum-2*b[1]=\sum_{i=2}^{n}b[i] ...

  5. BZOJ 3709: [PA2014]Bohater 贪心

    时空隧道 分析: 这种题基本上都是贪心了- 我们考虑怎样安排才能使得自己不会死掉-QAQ-当然是生命值越大越好-所以为们应该贪心的先使自己的生命值增大再去减小生命值- 所以我们就得到了一个大概的贪心方 ...

  6. 一句话题解(20180210~)

    2.9 BZOJ 2006 [NOI2010]超级钢琴.这道题目几天之前就做了.做法是固定右端点,左端点在ST表上走,走法其实就是笛卡尔树的走法.完结撒花! BZOJ 1218 [HNOI2003]激 ...

  7. 省选之前的未完成的计划(截至到省选)

    PLAN OF THE COMING HEOI good problems: -bzoj4823:[Cqoi2017]老C的方块 [*] -bzoj3171:[Tjoi2013]循环格 [*] -bz ...

  8. 清北学堂学习笔记 第一期

    Day 1 1.贪心的奇怪方法:调整法 调整法,顾名思义,就是用别的方式进行题目的分析以及证明,例如说luogu的最大乘积.这种题目的主要分析思路为:先考虑一些简单的情况,通过简单的情况来推出一些有用 ...

  9. 【BZOJ 3711】[PA2014] Druzyny

    题目: Description 体育课上, n n n个小朋友排成一行(从 1 1 1到 n n n编号),老师想把他们分成若干组,每一组都包含编号连续的一段小朋友,每个小朋友属于且仅属于一个组. 第 ...

  10. 【PA2014】【BZOJ3717】Pakowanie

    Description 你有n个物品和m个包.物品有重量,且不可被分割:包也有各自的容量.要把所有物品装入包中,至少需要几个包? Input 第一行两个整数n,m(1<=n<=24,1&l ...

最新文章

  1. 给你两个经纬度,计算他们之间的距离
  2. php header下载中文名称,PHP Header下载文件在IE文件名中文乱码问题
  3. PHP转义Json里的特殊字符的函数
  4. 二叉树相关知识及求深度的代码实现
  5. 消息队列终极解决方案——Stream(下)
  6. flex与JavaScript的数据交互
  7. 一种机器人语音识别系统及其工作方法与流程
  8. 大数据分析的优势有哪些特点
  9. oracle ora 16014,ORA-16014 ORA-00312错误解决
  10. 读完 Effective Java,我整理这 59 条技巧!
  11. 088、Docker 如何支持多种日志方案 (2019-05-10 周五)
  12. Android Cursor浅析
  13. vue element 地址联动的使用
  14. php中url传递中文字符,特殊危险字符的解决方法
  15. 80x86汇编小站-公告
  16. 中国油用牡丹行业需求状况及产销规模预测报告(新版)2022-2027年
  17. 基于微信小程序校园商铺系统获取(微信小程序毕业设计)
  18. The Art Of Code-Beta
  19. win11窗口桌面管理器突然很吃内存?
  20. 初学者:html中的表单详解(下面附有代码)

热门文章

  1. 芋道 Spring Cloud Netflix 注册中心 Eureka 入门
  2. python人脸识别门禁系统毕设_基于人脸识别的门禁系统设计与实现
  3. linux opencv调用笔记本摄像头,Linux下利用Opencv打开笔记本摄像头问题
  4. CSDN博客去广告-谷歌插件
  5. 简单的选课系统(6)——选课界面和管理员界面
  6. 丹佛大学计算机专业,丹佛大学计算机工程排名第81(2018年TFE美国排名)
  7. 科罗拉多州立大学计算机科学,科罗拉多州立大学
  8. 网页表格局部数据比对变色
  9. matlab建立机器人模型,matlab 机器人工具箱8-通过URDF建立机器人模型
  10. LHC或许已经首次制造出顶夸克“四胞胎”