思路:

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);
}

代码都很短。。。。

最新文章

  1. px、dp与sp的区别以及换算
  2. iOS之处理不等高TableViewCell的几种方法
  3. 学习游戏渲染(Shader)的用处
  4. 【VB6】VB6实现拖拽
  5. Leetcode 107 Binary Tree Level Order Traversal II 二叉树+BFS
  6. JAVA:类的三大特征,抽象类,接口,final关键字&lt;3&gt;
  7. Transaction Log Truncation
  8. Linux平台从文件中查找字符赋值于变量
  9. bzoj3110: [Zjoi2013]K大数查询 【cdq分治&amp;树套树】
  10. 从源码安装go 1.2.2
  11. codeforce round#466(div.2) B. Our Tanya is Crying Out Loud
  12. SVN的安装与配置
  13. Photoshop 基础五 橡皮擦工具
  14. Android HttpURLConnection.connect找不到源 HttpURLConnection连接失败 HttpURLConnection.connect IO异常 解决办法
  15. redis调优 -- 内存碎片
  16. 从Tomcat无法正常关闭讲讲Java线程关闭问题【转载】
  17. iOS多线程---NSOperation的常用操作
  18. bzoj1477 poj1061 青蛙的约会
  19. uboot中bootargs实现
  20. JavaSE(八)之Map总结

热门文章

  1. JS学习笔记(一)JS处理JSON数据
  2. textarea 自适应高度
  3. Mac Terminal 快捷键
  4. php多线程操作数据库(转)
  5. facebook atc弱网环境搭建和踩坑总结
  6. MindManager 2019新版上市 ,了解一下!
  7. javaee的toString的用法
  8. python数据分析------文本挖掘(jieba)
  9. UNIX时间转换ASP代码.txt
  10. select的option触发事件