Do Palapala (this)
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)的更多相关文章
- [留念贴] C#开发技术期末大作业——星月之痕
明天就要去上海大学参加 2015赛季 ACM/ICPC最后一场比赛 —— EC-Final,在这之前,顺利地把期末大作业赶出来了. 在这种期末大作业10个人里面有9个是从网上下载的国内计算机水平五六流 ...
随机推荐
- C#关于params的用法(使用数量可变的参数)
有些方法需要传递个数不定的值进行运算.比如求最小值的方法.除了用容器外,还可以使用params来做 例子如下: using System; using System.Collections.Gener ...
- Angular之作用域与事件(转)
学习Angular,首先要理解其作用域机制. Angular应用是分层的,主要有三个层面:视图,模型,视图模型.其中,视图很好理解,就是直接可见的界面,模型就是数据,那么视图模型是什么呢?是一种把数据 ...
- java中拼接两个数组
int a[]={1,2,3,2}; int b[]={4,2,90,8,98}; int[] d3 = new int[a.length + b.length]; System.arraycopy( ...
- spring 配置和实例
Spring 是一个开源框架.Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.Spring 是一个 IOC(DI) ...
- MySQL查询优化之explain
在分析查询性能时,考虑EXPLAIN关键字同样很管用.EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作.以及MySQL成功返回结果集需要执行的行数.expla ...
- directive和controller如何通信
1.AngularJS是何方神圣 Angular JS (Angular.JS) 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持整个开发进程,提供web应用的架构,无需进行手工 ...
- openstack安装记录(二)keystone安装
先决条件 在你配置 OpenStack 身份认证服务前,你必须创建一个数据库和管理员令牌. 完成下面的步骤以创建数据库: 用数据库连接客户端以 root 用户连接到数据库服务器: $ mysql -u ...
- Z-Stack协议中几个重要概念的理解
1. 原语 ZigBee设备在工作时,各种不同的任务在不同的层次上执行,通过层的服务,完成所要执行的任务.每一层的服务主要完成两种功能:根据它的下层服务要求,为上层提供相应的服务:另一咱是根据 ...
- 【思考题】CSDN第四届在线编程大赛2014初赛:带通配符的数
题目要求: 输入参数:参数A,含有任意个数的?的数值字符串,如:12?4,?代表一位任意数 参数B,不含?的数值字符串,长度与参数A一致 输出结果:参数A比参数 ...
- CreateThread线程函数
之前在一篇 基于TCP套接字实现的简单Demo 一文中用到了线程函数CreateThread()函数来 创建新的线程.下面以一个最简单的多线程例子来说明. C-代码如下: //最简单的创建多线程实 ...