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



输入:

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. 11_RHEL安装Maya2015

    1. 解压 tar -xvf ./Autodesk_Maya_English_2015_Linux_64bit.tgz 2. 运行 ./setup 2.1补充 如果提示缺少 libpng12.so.0 ...

  2. javascript 向上滚动

    <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Co ...

  3. django 内建标签和过滤器参考

    下面的标签和过滤器参考就是为那些没有 admin 站点的可用的人准备的.由于 Django 是高度可定制的,你的 admin 里的关于标签和过滤器的参考可以认为是最可信的. 内建标签参考 block ...

  4. Spring Test 整合 JUnit 4 使用

    这两天做Web开发,发现通过spring进行对象管理之后,做测试变得复杂了.因为所有的Bean都需要在applicationContext.xml中加载好,之后再通过@Resource去取得.如果每次 ...

  5. php通过curl实现bigpipe

    BigPipe是facebook发明的一种页面加载技术.其实也不是什么新技术了,也有很多文章进行说明.但是在网上,具体讲如何使用php实现bigpipe的文章很少,并且有些文章还不很准确.bigpip ...

  6. 调用API函数,在窗口非客户区绘图(通过GetWindowDC获得整个窗口的DC,就可以随意作画了)

    http://hi.baidu.com/3582077/item/77d3c1ff60f9fa5ec9f33754 调用API函数,在窗口非客户区绘图 GDI+的Graphics类里有个FromHdc ...

  7. listView中setOnItemClickListener和getSelectedItemPosition()取不到position问题

    //也可以采用通过listview 索引 取得 item 可以转化到 cursor ,pos 是在listview 的选中事件中赋值. //Cursor v2 = (Cursor) listView. ...

  8. CSDN总结的面试中的十大可视化工具

    1. D3.js 基于JavaScript的数据可视化库,允许绑定任意数据到DOM,然后将数据驱动转换应用到Document中. 2. Data.js Data.js是一个JavaScript数据表示 ...

  9. delphi 写系统日志监控 转

    不久前写了个抓取网页内容的小程序,跑了一晚上,本以为早上起来都抓完了,谁知道程序死掉了,分析半天,才发现用tmemo来记录日志的信息太多了,越积越多,本来memo的容量就不大.对于无法控制信息量的日志 ...

  10. 【日语】アップデート(update)一吻定情OP

    ねぇ~気づいてる? nee ~ kizu iteru ?呐~注意到吗? 私はアップデートしているよwatashi ha appude^to shiteiruyo我期待更新 いつか届きますようにitsu ...