思路:

1.01背包

先找到所有奶牛身高和与B的差。

然后做一次01背包即可

01背包的容积和价格就是奶牛们身高。

最后差值一减输出结果就大功告成啦!

2.

搜索

这思路很明了吧。。。 搜索的确可以过…

3.

模拟!

0到1< < n 来一遍。(状压呗)

01背包的:

// by SiriusRen
#include <cstdio>
#include <algorithm>
using namespace std;
int N,B,sum=0,h[25],f[1000555];
int main(){
scanf("%d%d",&N,&B);
for(int i=1;i<=N;i++)scanf("%d",&h[i]),sum+=h[i];
sum-=B;
for(int i=1;i<=N;i++)
for(int j=sum;j>=h[i];j--)
f[j]=max(f[j],f[j-h[i]]+h[i]);
printf("%d\n",sum-f[sum]);
}

代码很短。。

状压的:

// by SiriusRen
#include <cstdio>
using namespace std;
int N,B,sum=0,h[25],jy,ans=0x3fffffff;
int main(){
scanf("%d%d",&N,&B);
for(int i=0;i<N;i++)scanf("%d",&h[i]);
for(int i=0;i<1<<N;i++){
int jy=0;
for(int j=0;j<N;j++)
if(i&(1<<j))jy+=h[j];
if(jy>=B&&jy<ans)ans=jy;
}
printf("%d\n",ans-B);
}

代码都很短。。。。

POJ 3628 01背包 OR 状压的更多相关文章

  1. poj 2288 Islands and Bridges ——状压DP

    题目:http://poj.org/problem?id=2288 状压挺明显的: 一开始写了(记忆化)搜索,但一直T: #include<iostream> #include<cs ...

  2. POJ 1185 炮兵阵地(状压DP)

    炮兵阵地 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 26426   Accepted: 10185 Descriptio ...

  3. POJ 3254 Corn Fields(状压DP)

    Corn Fields Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 13732   Accepted: 7216 Desc ...

  4. POJ 2411 Mondriaan's Dream -- 状压DP

    题目:Mondriaan's Dream 链接:http://poj.org/problem?id=2411 题意:用 1*2 的瓷砖去填 n*m 的地板,问有多少种填法. 思路: 很久很久以前便做过 ...

  5. POJ P1185 炮兵阵地 【状压dp】

    炮兵阵地 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 29502 Accepted: 11424 Description 司令 ...

  6. POJ 3254 Corn Fields (状压DP,轮廓线DP)

    题意: 有一个n*m的矩阵(0<n,m<=12),有部分的格子可种草,有部分不可种,问有多少种不同的种草方案(完全不种也可以算1种,对答案取模后输出)? 思路: 明显的状压DP啦,只是怎样 ...

  7. POJ 2411 Mondriaan's Dream ——状压DP 插头DP

    [题目分析] 用1*2的牌铺满n*m的格子. 刚开始用到动规想写一个n*m*2^m,写了半天才知道会有重复的情况. So Sad. 然后想到数据范围这么小,爆搜好了.于是把每一种状态对应的转移都搜了出 ...

  8. poj 2184 01背包变形【背包dp】

    POJ 2184 Cow Exhibition Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14657   Accepte ...

  9. POJ 2184 01背包+负数处理

    Cow Exhibition Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10200   Accepted: 3977 D ...

随机推荐

  1. js隐藏与显示回到顶部按钮

    window.onscroll = function () { if (document.documentElement.scrollTop + document.body.scrollTop > ...

  2. 利用JavaScript制作计算器

    <html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...

  3. 3D旋转立方体案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. PCL:PCL与MFC 冲突总结

    (1):max,min问题 MFC程序过程中使用STL一些类编译出错,放到Console Application里一切正常.比如: void CMyDialog::OnBnClickedButton1 ...

  5. oracle AWR详解

    原文地址:https://blog.csdn.net/elvis_lfc/article/details/52326148 啥是AWR? =============================== ...

  6. 浅谈[^>]在正则中的2种用法

    /^A/会匹配"An e"中的A,但是不会匹配"ab A"中的A,此时^A的意思是“匹配开头的A” /[^a-z\s]/会匹配"my 3 sister ...

  7. C语言提高 (1) 第一天 数据类型本质与内存四区

    (物联网的分层的概念 b/s c/s 结构 习惯: 在C语言 0 函数执行成功 <0是错误 >1做一些返回值处理 3 课前准备 工作经验,记录 4 数据类型的本质 数据类型的本质是固定大小 ...

  8. 【JavaScript框架封装】实现一个类似于JQuery的动画框架的封装

    // 动画框架 (function (xframe) { // 需要参与链式访问的(必须使用prototype的方式来给对象扩充方法) xframe.extend({}); // 不需要参与链式访问的 ...

  9. Laravel的路由功能

    只能在当前方法内加载视图和URL跳转!

  10. nlogn求逆序对&&陌上花开

    前置: nlogn逆序对: 前一个小时我还真的不会这个Orz 这里运用归并排序的思想. 对于一个序列,我们把它先分开,再合并成一个有序序列. 引自https://blog.csdn.net/qq_30 ...