ZOJ1524 POJ1297 Supermarket
来源:互联网 发布:网络盒子与机顶盒 编辑:程序博客网 时间:2024/06/13 01:43
DP,类似于LCS,用滚动数组实现
/******************************************************************************* # Author : Neo Fung # Email : neosfung@gmail.com # Last modified: 2012-03-29 21:02 # Filename: ZOJ1524 POJ1297 Supermarket.cpp # Description : ******************************************************************************/#ifdef _MSC_VER#define DEBUG#define _CRT_SECURE_NO_DEPRECATE#endif#include <fstream>#include <stdio.h>#include <iostream>#include <string.h>#include <string>#include <limits.h>#include <algorithm>#include <math.h>#include <numeric>#include <functional>#include <ctype.h>#define MAX 100010#define INF 1000000000.00#define EPS 10e-6using namespace std;double dp[2][MAX],value[MAX];int num[MAX],list[MAX];int mark[MAX];int n,ncase=1,m;void setINF(const int &x){for(int i=0;i<=n;++i)dp[x][i]=INF;}int func(){setINF(0);for(int i=1;i<=n;++i)if(num[i]==list[1])dp[0][i]=min(dp[0][i-1],value[i]);elsedp[0][i]=dp[0][i-1];int cur=1,pre=0;for(int i=2;i<=m;++i){setINF(cur);for(int j=1;j<=n;++j)if(list[i]==num[j])dp[cur][j]=min(dp[cur][j-1],dp[pre][j-1]+value[j]);elsedp[cur][j]=dp[cur][j-1];pre=cur;cur=1-pre;}return pre;}int main(void){#ifdef DEBUG freopen("../stdin.txt","r",stdin); freopen("../stdout.txt","w",stdout); #endif // scanf("%d",&ncase); while(~scanf("%d%d",&m,&n) && (m||n)) {memset(mark,0,sizeof(mark));for(int i=1;i<=m;++i)scanf("%d",&list[i]);int ind=0;for(int i=1;i<=n;++i)scanf("%d %lf",&num[i],&value[i]);int cur=func();if(dp[cur][n]+EPS<INF)printf("%.2lf\n",dp[cur][n]);elseprintf("Impossible\n"); } return 0;}
- ZOJ1524 POJ1297 Supermarket
- ZOJ1524
- Supermarket
- Supermarket
- Supermarket
- Supermarket
- Supermarket
- Supermarket
- Supermarket
- Supermarket
- Supermarket Equipment
- pku1456 Supermarket
- zoj1731-Supermarket
- POJ1456 Supermarket
- poj1456 - Supermarket
- NYOJ208 Supermarket
- toj1681 Supermarket
- POJ Supermarket
- 工程是不能靠技术生(写的不错)
- sql2000服务器组件在此操作系统上不受支持
- restful-db
- 使用 CruiseControl 和 STAF 建立复杂环境下的编译和测试自动化
- ROW_NUMBER() OVER函数的基本用法
- ZOJ1524 POJ1297 Supermarket
- MFC下组框控件遮盖了 内部控件
- Android 命令行手动编译打包详解
- showModalDialog的一个实例
- java.net Socket
- JAVA反射机制
- Python性能鸡汤——新出的一篇关于Python高效编程的文章
- 【扩展Baby Step Giant Step解决离散对数问题】(转自AC神牛。。。。)
- css设置了border-width:1px,却没有边框,原来是这么回事