zoukankan      html  css  js  c++  java
  • [无聊测试赛] T5 最佳课题选择

    又是背包...(这题比黄还简单)

    一维dp. (i) 表示现在拿了课题数, (dp[i]) 表示拿到n个课题的最小花费.将dp初始化大一点就行,记得开longlong

    #include <iostream>
    #include <algorithm>
    #include <math.h>
    #include <cstring>
    using namespace std;
    const long long MAXN = 2e2+5;
    long long n,m;
    long long min(long long a, long long b){return a<b? a : b;}
    long long max(long long a, long long b){return a>b?a:b;}
    long long dp[MAXN];
    inline void update(long long x, long long y){
      for (long long i=n;i>=0;i--)//裸的背包
        for (long long j=i-1;j>=0;j--)
          dp[i] = min(dp[i],dp[j]+x*pow(i-j,y));
    }
    int main(){
      cin >> n >> m;
      memset(dp,0x3f3f3f3f3f,sizeof(dp));//初始化大一点
      dp[0] = 0;//拿0个课题
      for (long long i=0;i<m;i++){
        long long a,b; cin >> a >> b;
        update(a,b);
      }
      cout << dp[n];
    }
    
  • 相关阅读:
    Django框架-模板层
    Django框架-路由层
    Django流程-以登录功能为例
    常见的MySQL慢查询优化
    函数之二
    python 之 函数
    python 文件操作
    set dict tuple 内置方法
    leetcode
    python 之 数据类型初接触
  • 原文地址:https://www.cnblogs.com/DannyXu/p/12536352.html
Copyright © 2011-2022 走看看