• 17099 周工作计划安排


    17099 周工作计划安排

    时间限制:1000MS  内存限制:65535K
    提交次数:0 通过次数:0

    题型: 编程题   语言: G++;GCC;VC

     

    Description

    你正在某信息公司管理一个项目工作团队,每周你必须选择一项工作让团队来承担。
    所有的工作分为高压的低压的两类:
    (1)低压的,诸如,为小学生建立Web管理网站。低压的项目可以获得li万元。
    (2)高压的,诸如,涉及国家秘密或大型商业机遇的项目。高压的项目可以获得hi万元。
    且高压项目,必须在前一周用一周的时间来准备(前一周不做任何其他工作)。
    
    你作为项目管理者,每周,要选择一项高压的或低压的工作来做。
    
    问题模型:给定一组值l1,l2,...,ln和h1,h2,...,hn,找出一个最大价值的最优计划。
    




    输入格式

    第一行:n   ( 这里,n<10000 )
    第二行:l1 l2 ... ln
    第三行:h1 h2 ... hn



    输出格式

    团队所能获得的最大价值。



     

    输入样例

    4
    10 1 10 10
    5 50 5 1



     

    输出样例

    70
    
    解释:
    最优安排:第一周不安排,为第二周高压工作,第二周选择高压工作,第三第四周低压工作。
    最优价值:0+50+10+10=70
    



     

    提示

    先定义符号:n个星期,每个星期可选择一个低压项目,或一个高压项目(高压项目前一周不工作)
    低压可产生价值:l1 l2 ... ln
    高压可产生价值:h1 h2 ... hn
    
    假设d[i]代表第i周选择项目后,产生的最大效益和。
    (1)当i=1时,因为无准备周,无法选择高压项目,只能选低压项目来做。d[i]=l1;
    (2)当i=2时,d[i]=max{l1+l2, h2};
    (3)当i>1时,d[i]=max{d[i-1]+li,d[i-2]+hi}。
    
    最后,d[n]就是原问题n个星期选择项目能产生的最大价值和。



    我的代码实现:


    #include<stdio.h>
    #define N 10005
    int d[N];
    
    
    //(1)当i=1时,因为无准备周,无法选择高压项目,只能选低压项目来做。d[i]=l1;
    //(2)当i=2时,d[i]=max{l1+l2, h2};
    //(3)当i>1时,d[i]=max{d[i-1]+li,d[i-2]+hi}。
    
    int max(int x,int y){
        return x>y?x:y;
    }
    
    void aa(int *low,int *high,int n){
        d[1]=low[1];
        d[2]=max(low[1]+low[2],high[2]);
        for(int i=2;i<=n;i++){
            d[i]=max(d[i-1]+low[i],d[i-2]+high[i]);
        }
    }
    
    
    int main(){
        int l[N],h[N];
        int n;
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%d",&l[i]);
        }
        for(int i=1;i<=n;i++){
            scanf("%d",&h[i]);
        }
        aa(l,h,n);
        printf("%d ",d[n]);
        return 0;
    } 
     
  • 相关阅读:
    用Lua编写ACM算法竞赛开灯问题
    糟糕的中文版龙书
    font and face, 浅探Emacs字体选择机制及部分记录
    栈与卡特兰数
    关于2018年东南大学Robomaster算法组工作的总结
    C++中的默认参数规则
    MySQL第三章——嵌套查询
    MySQL第三章——空值的处理
    MySQL第三章——数据更新
    MySQL第三章——连接查询
  • 原文地址:https://www.cnblogs.com/double891/p/8127936.html
Copyright © 2020-2023  润新知