题意:给定需要购买物品的顺序以及总物品对应的价格,求解按顺序购买物品时最小花费。



输入:

m,n(m代表需要购买物品的清单,n代表总的物品数)

Xi...(代表对应物品的序号以及价格)



输出:

cost(最小花费,有精度要求)



思路:对于商品j,有购买和不购买两种选择,并且如果j序号正好和i匹配,说明是符合条件的,那么此时最小花费应是不买(dp[1][j])和购买(dp[0][j-1]+price[j])中最小值,注意之前dp每次循环时需要初始化第一个下标。

#include<iostream>
#include<fstream>
#include<memory.h>
#define MAX 100001
#define N 1e10
using namespace std;
int a[101];
int Index[MAX];
double price[MAX];
double dp[2][MAX];
int n,m,i,j;
void ss()
{
for(i=1; i<=n; i++)
cin>>a[i];
for(i=1; i<=m; i++)
cin>>Index[i]>>price[i];
dp[1][0]=N;
for(j=0; j<=m; j++)
dp[0][j]=0; for(i=1; i<=n; i++)
{
for(j=i; j<=m; j++)
{
if(j!=i)
dp[1][j]=dp[1][j-1];
else dp[1][j]=N;
if(a[i]==Index[j])
dp[1][j]=min(dp[1][j],dp[0][j-1]+price[j]);
}
for(j=0; j<=m; j++)
dp[0][j]=dp[1][j]; }
}
int main()
{
while(cin>>n>>m,n&&m)
{
ss();
double ans=dp[1][m];
if(ans==N)
cout<<"Impossible"<<endl;
else
printf("%.2lf\n",ans);
}
return 0;
}

ZOJ1524的更多相关文章

  1. OJ题目分类

    POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 P ...

随机推荐

  1. 7 Reverse Integer(数字反转Easy)

    题目意思:int数字反转 考虑:越界问题 class Solution { public: int reverse(int x) { ; while(x){ ans=ans*+x%; x=x/; } ...

  2. Python自动化运维之21、CSS

    一.css简介 CSS 是 Cascading Style Sheets的缩写,称为层叠样式表,用来设计网页的样式布局,以及大小来适应不同的屏幕等,使网页的样式和网页数据分离, 二.导入css 导入c ...

  3. type和instance

    获取对象类型 type(object) >>> test_data = [1, 2, 3] >>> type(test_data) <type 'list'& ...

  4. uva 10820 (筛法构造欧拉函数)

    send a table When participating in programming contests, you sometimes face the following problem: Y ...

  5. Kafka 集群消息监控系统:Kafka Eagle

    Kafka Eagle 1.概述 在开发工作当中,消费 Kafka 集群中的消息时,数据的变动是我们所关心的,当业务并不复杂的前提下,我们可以使用 Kafka 提供的命令工具,配合 Zookeeper ...

  6. 配置Session变量的生命周期

    在Web.config文件中配置Session变量的生命周期是在<sessionState></sessionState>节中完成的,在配置Session的生命周期时,可以设置 ...

  7. Windows8.1 preview硬盘安装(图解)

    本人小本系统是win7 32位的,想要装win8 64位 ,想直接镜像安装不可能,因为位数不同.U盘只有2G ,显然也放不下3.6G的win8系统.借助NT6 HDD Installer,可以在本地硬 ...

  8. BZOJ 1003 [ZJOI2006]物流运输trans

    1003: [ZJOI2006]物流运输trans Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4242  Solved: 1765[Submit] ...

  9. [Java] LinkedList / Queue - 源代码学习笔记

    简单地画了下 LinkedList 的继承关系,如下图.只是画了关注的部分,并不是完整的关系图.本博文涉及的是 Queue, Deque, LinkedList 的源代码阅读笔记.关于 List 接口 ...

  10. Appium 环境搭建

    1.安装nodejs 下载地址: http://nodejs.org/download/ 下载之后一路next就好. 验证是否安装成功: node -v