zoukankan      html  css  js  c++  java
  • 洛谷 P1717 钓鱼

    题目描述

    话说发源于小朋友精心设计的游戏被电脑组的童鞋们藐杀之后非常不爽,为了表示安慰和鼓励,VIP999决定请他吃一次“年年大丰收”,为了表示诚意,他还决定亲自去钓鱼,但是,因为还要准备2013NOIP,z老师只给了他H(1<=H<=16)个小时的空余时间,假设有N(2<=n<=25)个鱼塘都在一条水平路边,从左边到右编号为1、2、3、。。。、n)。VIP是个很讲究效率的孩子,他希望用这些时间钓到尽量多的鱼。他从湖1出发,向右走,有选择的在一些湖边停留一定的时间钓鱼,最后在某一个湖边结束钓鱼。他测出从第I个湖到I+1个湖需要走5*ti分钟的路,还测出在第I个湖边停留,第一个5分钟可以钓到鱼fi,以后再每钓5分钟鱼,鱼量减少di。为了简化问题,他假定没有其他人钓鱼,也不会有其他因素影响他钓到期望数量的鱼。请编程求出能钓最多鱼的数量。

    输入输出格式

    输入格式:

    第一行:湖的数量n。

    第二行:时间h(小时)。

    第三行:n个数,f1,f2,…fn。

    第四行:n个数,d1,d2,….dn。

    第五行:n-1个数,t1,t2,….tn-1

    输出格式:

    一个数,所能钓鱼的最大数量。

    输入输出样例

    输入样例#1:
    2
    1
    10  1
    2  5
    2
    
    输出样例#1:
    31
    /*
    贪心:
    确定最后在那个鱼塘,那么在路上的时间就确定了
    钓鱼的时间一定,那么在那钓得多在哪钓就行
    一直弹出最大的,可用优先队列       
    */
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<queue>
    using namespace std;
    struct node
    {
        int f;
        int num;
        bool operator < (const node x)const
        {
            return f<x.f;
        }
    }a[50];
    priority_queue<node>q;
    int n,h,d[50],t[50],ans,tot;
    int main()
    {
        int i,j,k;
        scanf("%d%d",&n,&h);
        h=h*12;
        for(i=1;i<=n;i++)
        {
            scanf("%d",&a[i].f);
            a[i].num=i;
        }
        for(i=1;i<=n;i++)
          scanf("%d",&d[i]);
        for(i=1;i<=n-1;i++)
          scanf("%d",&t[i]);
        for(i=1;i<=n;i++)
        {
            h-=t[i-1],tot=0;
            while(!q.empty())q.pop();
            for(j=1;j<=i;j++)
             q.push(a[j]);
            for(j=h;j>0;j--)
            {
                node s;
                s.f=q.top().f-d[q.top().num];
                s.num=q.top().num;
                if(q.top().f>0)
                tot+=q.top().f;
                q.pop();
                q.push(s);
            }
            ans=max(tot,ans);
        }
        printf("%d",ans);
        return 0;
    }
  • 相关阅读:
    那些值得收藏的神奇的网站,使用RSS阅读器订阅喜欢的网站 --授人以鱼不如授人以渔
    截图与屏幕录像利器:FastStone Capture
    Java基础数据类型
    刚刚开通了博客园,欢迎来踩
    ETL 各种小问题笔记
    SpringBoot 项目打包部署Resin遇到的问题
    跟据html页面生成图片方便打印分享
    微信将用户信息转为一张图片(将html转为图片)
    Js处理本地视频和第三方视频播放的问题
    反射+特性实现 类和XML文档的序列化反序列化
  • 原文地址:https://www.cnblogs.com/dingmenghao/p/5754335.html
Copyright © 2011-2022 走看看