zoukankan      html  css  js  c++  java
  • POJ 1018

    做题时候陷入一个误区,就是担心出错不敢想,不敢写,这道题入手思路是对的,但是畏首畏尾,自己规定时间写不出来,大略览了他人题解发现自己思路是对的才敢开始着手写,学会分析和对自己有自信是练习的一个很重要的指标兼目标

    题目就是利用DP搜索,不过这道题没给出贷款,费用值的范围是一个很不应该的地方,因为这涉及变量存储以及算法时间估计

    #include <iostream>
    #include <algorithm>
    #include <queue>
    #include <string>
    #include <vector>
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <string>
    #include <stack>
    #include <map>
    #include <set>
    using namespace std;
    
    const int maxp= 1111;
    const int maxn= 105;
    const int INF= 0x3f3f3f3f;
    
    int dv[maxn][maxp];
    int dev_b[maxn][maxn], dev_p[maxn][maxn];
    int mi[maxn];
    
    int main()
    {
    	int kase, n;
    	scanf("%d", &kase);
    
    	while (kase--){
    		int mx= -1, mn= INF;
    		scanf("%d", &n);
    
    		memset(dv, 0x3f, sizeof(dv));
    		for (int i= 0; i< n; ++i){
    			scanf("%d", mi+i);
    			for (int j= 0; j< mi[i]; ++j){
    				scanf("%d %d", dev_b[i]+j, dev_p[i]+j);
    				mx= max(mx, dev_b[i][j]);
    				mn= min(mn, dev_b[i][j]);
    			}
    		}
    
    		for (int i= 0; i< mi[0]; ++i){
    			dv[0][dev_b[0][i]]= dev_p[0][i];
    		}
    		for (int i= 1; i< n; ++i){
    			for (int j= 0; j< mi[i]; ++j){
    				int b= dev_b[i][j], p= dev_p[i][j];
    				for (int k= mn; k< b; ++k){
    					if (dv[i-1][k]>= INF){
    						continue;
    					}
    					dv[i][k]= min(dv[i][k], dv[i-1][k]+p);
    				}
    				for (int k= b; k<= mx; ++k){
    					if (dv[i-1][k]>= INF){
    						continue;
    					}
    					dv[i][b]= min(dv[i][b], dv[i-1][k]+p);
    				}
    			}
    		}
    		double ans= -1;
    		for (int i= mn; i<= mx; ++i){
    			if (dv[n-1][i]>= INF){
    				continue;
    			}
    			ans= max(ans, ((double)i)/dv[n-1][i]);
    		}
    
    		printf("%.3lf
    ", ans);
    	}
    }
    
  • 相关阅读:
    CSS3 Animation
    css形状大全
    HTML5 表单属性
    HTML5 Input 类型
    HTML 5 服务器发送事件
    jq制作博客已存在多少天
    Java网络编程与NIO详解4:浅析NIO包中的Buffer、Channel 和 Selector
    Java网络编程和NIO详解3:IO模型与Java网络编程模型
    Java网络编程与NIO详解2:JAVA NIO 一步步构建IO多路复用的请求模型
    Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制
  • 原文地址:https://www.cnblogs.com/Idi0t-N3/p/14685419.html
Copyright © 2011-2022 走看看