Description

伟大的中国人民有宝箱容量为S(0<=S<=20000),有m个物品(0<m<=30,每个物品有一个体积(正整数)。任取若干个装入箱内,使箱子的剩余空间为最小。

Input

(this.in)

一个整数,表示箱子容量
一个整数,表示有m个物品
接下来m行,分别表示这m个物品的各自体积

Output

(this.out)

一个整数表示箱子剩余空间。

SampleInput&Output

#1

24

6

8

3

12

7

9

7

#1

0

=-=

首先,读题,就知道这是一道很渣逼的水题。最基础的动归背包问题。学长改的题目就是一个暗示(DP(动态归划))(教练安排学长出题,学长就改noip题发给我们@-@。。。。)。。。。。

好了,分析题目,题目的意思大致可以转化为:有一个大小为S的背包,有m个物品,每个物品都有各自的大小,求背包内能装下最多的物品体积(不过最后输出背包的剩余空间)。

读懂了题就很简单了————————

通过动归一遍过。(学长给的题本来以为很水直接暴,结果只过了两个点。。。。。。。。。 受教训了。。。再也不上来随便暴了。。。。)

代码如下:

 #include<iostream>
#include<cstdio>
using namespace std;
const int maxxiangzi=;
const int maxwupin=;
int m,n,dangqian=;
int f[maxxiangzi]={};
int a[maxwupin]={},c[maxwupin]={};
int main()
{
freopen("this.in","r",stdin);
freopen("this.out","w",stdout);
cin>>m>>n;
for(int i=;i<=n;i++)
{
cin>>a[i];
c[i]=a[i];
}
for(int i=;i<=n;i++)
for(int v=m;v>=a[i];v--)
if(f[v-a[i]]+c[i]>f[v])
f[v]=f[v-a[i]]+c[i];
cout<<m-f[m];
}

Do Palapala (this)的更多相关文章

  1. [留念贴] C#开发技术期末大作业——星月之痕

    明天就要去上海大学参加 2015赛季 ACM/ICPC最后一场比赛 —— EC-Final,在这之前,顺利地把期末大作业赶出来了. 在这种期末大作业10个人里面有9个是从网上下载的国内计算机水平五六流 ...

随机推荐

  1. C#关于params的用法(使用数量可变的参数)

    有些方法需要传递个数不定的值进行运算.比如求最小值的方法.除了用容器外,还可以使用params来做 例子如下: using System; using System.Collections.Gener ...

  2. Angular之作用域与事件(转)

    学习Angular,首先要理解其作用域机制. Angular应用是分层的,主要有三个层面:视图,模型,视图模型.其中,视图很好理解,就是直接可见的界面,模型就是数据,那么视图模型是什么呢?是一种把数据 ...

  3. java中拼接两个数组

    int a[]={1,2,3,2}; int b[]={4,2,90,8,98}; int[] d3 = new int[a.length + b.length]; System.arraycopy( ...

  4. spring 配置和实例

    Spring 是一个开源框架.Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.Spring 是一个 IOC(DI) ...

  5. MySQL查询优化之explain

    在分析查询性能时,考虑EXPLAIN关键字同样很管用.EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作.以及MySQL成功返回结果集需要执行的行数.expla ...

  6. directive和controller如何通信

    1.AngularJS是何方神圣 Angular JS (Angular.JS) 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持整个开发进程,提供web应用的架构,无需进行手工 ...

  7. openstack安装记录(二)keystone安装

    先决条件 在你配置 OpenStack 身份认证服务前,你必须创建一个数据库和管理员令牌. 完成下面的步骤以创建数据库: 用数据库连接客户端以 root 用户连接到数据库服务器: $ mysql -u ...

  8. Z-Stack协议中几个重要概念的理解

    1. 原语     ZigBee设备在工作时,各种不同的任务在不同的层次上执行,通过层的服务,完成所要执行的任务.每一层的服务主要完成两种功能:根据它的下层服务要求,为上层提供相应的服务:另一咱是根据 ...

  9. 【思考题】CSDN第四届在线编程大赛2014初赛:带通配符的数

    题目要求: 输入参数:参数A,含有任意个数的?的数值字符串,如:12?4,?代表一位任意数                     参数B,不含?的数值字符串,长度与参数A一致 输出结果:参数A比参数 ...

  10. CreateThread线程函数

    之前在一篇 基于TCP套接字实现的简单Demo   一文中用到了线程函数CreateThread()函数来 创建新的线程.下面以一个最简单的多线程例子来说明. C-代码如下: //最简单的创建多线程实 ...