zoukankan      html  css  js  c++  java
  • poj 2063 Investment

    题意:给定一个初始资金capital,然后给定d种投资方案,每种投资方案中有投资额value[i](是1000的倍数)和利息interest[i],每年的投资就可以拿到全部利息,然后累加起来继续投资利滚利。
    问经过year年后最多拥有多少资金?
    // 一年年的求最大利润就可以了
    // 每一年内都是完全背包
    // 这题的关键是value[i]都是1000的倍数 就可以把空间除以1000 了不然时间复杂度就高了好多
    #include <iostream> #include <algorithm> #include <queue> #include <math.h> #include <stdio.h> #include <string.h> using namespace std; #define MOD 1000000007 #define maxn 50010 int dp[maxn]; int value[25],interest[25]; int main() { int capital,year; int T; // double s=1.1; // for(int a=1;a<40;a++) s*=1.1; // printf("%lf",s); scanf("%d",&T); while(T--){ scanf("%d %d",&capital,&year); int i,j,k; int tmp,d; scanf("%d",&d); for(i=1;i<=d;i++){ scanf("%d %d",&value[i],&interest[i]); value[i]=value[i]/1000; } for(i=1;i<=year;i++){ tmp=capital/1000; memset(dp,0,sizeof(dp)); for(k=1;k<=d;k++) for(j=value[k];j<=tmp;j++){ dp[j]=max(dp[j],dp[j-value[k]]+interest[k]); } capital+=dp[tmp]; } printf("%d ",capital); } return 0; }
  • 相关阅读:
    AB(ApacheBench)工具 -- 压力测试
    请求错误 --405
    第三方支付 -----支付宝支付流程
    前后端分离 ---购物车
    canvas实现碰壁反弹(单个小方块)
    h5 的canvas绘制基本图形
    for in 循环
    js创建对象的三种方式和js工厂模式创建对象
    类的继承
    jq操作class类
  • 原文地址:https://www.cnblogs.com/372465774y/p/3189042.html
Copyright © 2011-2022 走看看