zoukankan      html  css  js  c++  java
  • 最大递增子序和——POJ3616

    每头牛在一定的时间段里挤奶,一共N个时间段,长度M,求最大挤奶量

    (类似于最大递增子序和

    1,3,2,4,3,6 最大和14)

    先排序,使时间段有序

    在求最大递增子序和

    View Code
    #include<stdio.h>
    #include<iostream>
    #include<algorithm>
    using namespace std;

    struct data
    {
    int s;
    int e;
    int p;
    }s[1009];

    int dp[1009];

    bool cmp(data a,data b)
    {
    if(a.s==b.s)
    return a.e;
    else
    return a.s<b.s;
    }

    int max(int a,int b)
    {
    if(a>b)
    return a;
    else
    return b;
    }

    int main()
    {
    int n,m,r;
    while(scanf("%d%d%d",&m,&n,&r)!=EOF)
    {
    int i,j;
    for(i=1;i<=n;i++)
    {
    scanf("%d%d%d",&s[i].s,&s[i].e,&s[i].p);
    s[i].e+=r;
    }

    sort(&s[1],&s[n+1],cmp);
    for(i=1;i<=n;i++)
    {
    dp[i]=s[i].p;
    }

    int MAX=dp[1];
    for(i=1;i<n;i++)
    {
    for(j=i+1;j<=n;j++)
    {
    if(s[i].e<=s[j].s)
    dp[j]=max(dp[j],dp[i]+s[j].p);
    MAX=max(MAX,dp[j]);
    }
    }

    printf("%d\n",MAX);
    }
    }



  • 相关阅读:
    electron入坑指南
    记CSS格式化上下文
    Ruby安装Scss
    向量
    产生指定范围的随机数
    纯CSS 图片演示
    socket 函数
    C++网络套接字编程TCP和UDP实例
    技巧收藏
    伤心啊
  • 原文地址:https://www.cnblogs.com/huhuuu/p/2316879.html
Copyright © 2011-2022 走看看