XTU 1262 Fish(优先队列+贪心)

2023-05-16

钓鱼
http://202.197.224.59/exam/index.php/problem/read/id/1262
题目描述

小明很喜欢钓鱼,现在有n个池塘可以钓鱼,第i个池塘首次内能钓到ai条鱼。 第i个池塘如果被钓过k次,那么每次下一次能钓到的鱼的数目为max{0,ai−k×bi}。 现在小明能钓m次鱼,请问他最多能钓到多少条鱼?

输入

第一行是一个整数T(1≤T≤100),表示样例的个数。
每个样例的第一行是n(1≤n≤1000),m(1≤m≤100000);
以后的n行,每行是ai(1≤ai≤10000),bi(0≤bi≤10000)。

输出

每行输出一个样例的结果。

样例输入

2
3 5
3 1
4 2
1 0
2 5
2 1
1 1
样例输出

12
4
样例解释

第一个样例,在第1个池塘钓3次,第2个池塘钓2次,3+2+1+4+2 = 12;
第二个样例,在第1个池塘钓2次,第2个池塘钓1次,2+1+1 = 4。

思路:
维护一个优先队列,使价值最高的鱼优先级最高,钓出这种鱼后,从队首弹出这种鱼,改变价值后再压入,这样便能保证每次钓到的鱼都是价值最高的。

#include <bits/stdc++.h>

using namespace std;

struct node
{
    int a,b;
    friend bool operator <(node A,node B)//价值高的优先级高
    {
        return A.a<B.a;
    }
};
priority_queue<node>pq;
int main()
{
    int t,n,m,a,b;
    scanf("%d",&t);
    while(t--)
    {
        while(!pq.empty())
            pq.pop();
        scanf("%d%d",&n,&m);
        node now;
        while(n--)
        {
            scanf("%d%d",&a,&b);
            now.a=a;
            now.b=b;
            pq.push(now);
        }
        int ans=0;
        while(!pq.empty())
        {
            now=pq.top();
            pq.pop();

            if(now.b==0)
            {
                ans+=now.a*m;
                m=0;
                break;
            }
            else
            {
                ans+=now.a;
                now.a = max(0,now.a-now.b);
                m--;
                pq.push(now);
            }
            if(!m)break;
        }
        printf("%d\n",ans);
    }
    return 0;
}

Problem: 1262       User: 2016551517
Memory: 1416K       Time: 1531MS
Language: G++       Result: Accepted

转载请注明出处^ ^

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XTU 1262 Fish(优先队列+贪心) 的相关文章

  • 前端FISH框架学习笔记

    Fish 0 学习路线 前期自学 fish基础组件 xff08 写简单demo xff09 gt 模块化开发 xff08 写简单demo xff09 gt 实际项目代码阅读 实际开发 看组件示例 看fish API 看代码示例 百度 1 环
  • html5 fish bow,荧光原位杂交(FISH)技术服务

    荧光原位杂交 荧光原位杂交是通过荧光标记的核酸探针与细胞或组织中的核酸杂交 xff0c 进而对胞内核酸进行定位 定性和定量分析 荧光原位杂交的探针有DNA探针和RNA探针 xff0c 可对动物组织和植物组织中核酸 进行检测 xff0c 检测
  • 优先队列(priority_queue)的妙用(以力扣周赛“K 次增加后的最大乘积”为例)

    1 priority queue的用法 优先队列在实际的动态更新过程中帮我们找到最大或者最小的元素 xff0c priority queue的使用需要先包含头文件 lt queue gt xff0c 即 include lt queue g
  • Connect the Cities 【HDU - 3371】【Kruskal、变了形的优先队列】

    题目链接 就是问你能否通过选取一些边构成一棵树 最小生成树 这道题的关键不在于此 在于学到了另外一种优先队列的写法 struct cmp bool operator Eddge e1 Eddge e2 return e1 val gt e2
  • LeetCode 1801. 积压订单中的订单总数(C++)

    思路 该题主要是对比销售 采购的价格来进行数组 队列的pop和push操作来实现 采用优先队列来实现排序 其中销售和采购对应小队列和大队列 对于 销售 操作 如果采购的积压订单中有出价格比自己的销售价格高 就出 对于 采购 操作 如果销售的
  • 【计蒜客——复赛A题】贝壳找房函数最值

    题意 对于结构 f x ax b 这样的一次函数 我们要做的就是 对 fi fj x ai ajx bj bi 这样的可换序嵌套函数求它的最大值f f f f x 接下来先分享一下令我忧伤的WA让大家快乐一下 include
  • 例说数据结构&STL(七)——priority_queue

    1 白话优先队列 priority queue 前面我们已经相继介绍了双向队列和FIFO特性的队列 这里我们还要接触另一个包含 队列 称呼的数据结构 优先队列 其实这三个数据结构名称看似很像 实则天差万别 通过下面的介绍你就会有很深的体会了
  • Stall Reservations POJ - 3190

    这道题 是学长给我们布置的学习用的题目 重在给我们讲解了什么是优先队列以及其对应的贪心问题 好了 先送上 中文翻译过的题意 手动 滑稽 Oh those picky N 1 lt N lt 50 000 cows They are so p
  • POJ-3253 Fence Repair

    农夫约翰想修理牧场周围的一小段围栏 他测量围栏并认定他需要 1 20000 厚木板 每一个都具有一些整数长度大号我 1 大号我 50000 单元 然后 他购买一块长板足够长 以便看到N块板 即 其长度是长度L i的总和 FJ忽略了 切口 锯
  • 数据结构与算法-队列

    定义 队列是ListInsert发生表尾 ListDelete发生在表头的线性表 主要操作 入队 出队 术语 表头 队头 表尾 队尾 插入 入队 删除 出队 特点 先入先出 FIFO 插入的位置是length 1 删除的位置的是1 一般读取
  • IntelliJ 的嵌入式终端无法正确加载我的 Fish shell 配置

    IntelliJ 中的 Fish 配置未正确加载 并且我看到有关路径未正确设置的警告 set Warning PATH entry set Did you mean set PATH PATH 因此 IntelliJ 似乎能够获取位于 co
  • 为什么鱼绑定在 mac os 中不起作用?

    我正在尝试使用一些鱼绑定 但无法让它们在我的 Apple sierra 中同时使用 iterm2 和终端工作 例如 当我使用Alt d它应该删除一个单词 它插入了字母 我在这里错过了什么吗 您需要将终端配置为将 option alt 键视为
  • 列出 Fish/bash shell 中可用的所有别名

    有没有办法列出所有别名 例如 ls aliases cd la ls Gla gs git stash etc 另外是否可以为别名添加人类可读的描述 我使用的是 MacOSX In bash 列出所有别名 alias 要添加注释 只需将其放
  • 如何处理 Fish 中的 null_glob 结果?

    我有一个包含以下内容的鱼函数rm陈述 rm path to dir log 如果该路径中有 log 文件 则该语句可以正常工作 但如果没有 log 文件 则该语句将失败 错误是 config fish functions myfunc fi
  • 在终端中运行每个命令后看到“致命:拒绝将 HEAD 指向 refs/ 之外”

    我已经几周没有使用终端了 在运行 Brew Upgrade 来升级 更新我的所有软件包后 我开始在运行每个命令后看到 致命 拒绝将 HEAD 指向 refs 之外 我不太熟悉终端或 Git 所以我不知道这意味着什么 请提供一些建议 场景来解
  • 如何在 Fish 中设置 PYTHONPATH?

    bash 中的工作原理如下 echo PYTHONPATH
  • Fish shell:接受并运行命令建议的快捷方式

    是否可以创建一个快捷方式 例如 Shift Return 来接受并运行显示的建议 默认的按键绑定需要按箭头键 这涉及远离按键的移动 CTRL f应该完成显示的建议 然后点击Return会运行它
  • 如何在fish shell脚本中获取程序名称?

    在 bash 中 与在 ruby 中一样 程序名称由 0 给出 鱼里有什么 如果有必要 我可以执行以下操作 set PROGRAM ps no header o args p self egrep o S 2 但我确信程序名称必须已经在某个
  • 在 Fish Shell 中设置导出

    我安装了多个版本的 PHP 对于我的正常开发 我总是使用通过自制程序安装的 PHP 5 5 x 在鱼壳里 which php php version gt usr local bin php gt PHP 5 5 8 cli built J
  • 测试命令:-n 和 -z 的区别

    鉴于此驱动程序函数仅在给定特定输入的情况下产生输出 function driver a arg test arg 1 and echo OK return 0 end 当函数发出输出时 一切正常 driver 1 od c 0000000

随机推荐

  • 形式化方法课程学习笔记(一)|Cop的安装以及简单使用

    一 Cop的介绍以及安装 1 Cop介绍 Coq是一个著名的 xff0c 也被广泛使用的正式证明管理系统 它提供了一种正式的语言来编写数学定义 可执行的算法和定理 xff0c 以及用于机器检查证明的半交互式开发的环境 有关Coq的更多信息
  • 虚拟机共享文件夹制作|Ubuntu与本机文件共享

    一 引言 使用虚拟机 xff0c 经常出现想要把主机文件复制到虚拟机中 xff0c 或者是相反的情况 xff0c 一般来说是不能直接复制的 xff0c 另外个人感觉安装VMware tool的方式并不是很好 xff0c 似乎也容易出问题 x
  • VScode使用Remote - SSH插件实现远程服务器开发

    一 引言 最近做实验需要用到远程服务器开发 xff0c 在windows系统上可以下载Xshell PuTTY 来进行实验 xff0c 因为助教推荐使用VScode 43 Remote ssh来进行实验 xff0c 所以百度了怎么样来操作
  • YUV/RGB颜色空间转换公式

    经过调研 xff0c 最终选择以下转换公式 xff1a Jack Keith Video Demystified a Handbook for the Digital Engineer LLH Technology Publishing 3
  • c语言编程软件有哪些 Win7下用哪种C语言编译器

    C语言是一门历史很长的编程语言 xff0c 其编译器和开发工具也多种多样 xff0c 其开发工具包括编译器 xff0c 现举几个开发工具供大家选择 xff0c 当然也要根据自己的操作系统来选择适合自己的开发工具 好多刚开始接触c语言的朋友都
  • 大数据时代的图表可视化利器——highcharts,D3和百度的echarts

    还记得阿里巴巴那个令人澎湃激情的双十一吗 xff1f 还记得淘宝生动形象地把你的的消费历程一一地展示给你看吗 xff1f 还记得那些酷炫拽的it报告图表吗 xff1f 在这个大数据越来越盛行的年代 xff0c 怎样去表达一些用户的关系 xf
  • 在tinycorelinux上安装lxc,lxd (1)

    本文关键字 xff0c 在tinycorelinux上安装lxc xff0c lxd gcc4 4 self reference struct typedef 在前面的文章中我们讲到过内置虚拟化的os设计 xff0c 它可以使包括裸金属 x
  • STM32上第一个程序-GPIO控制LED-第3季第5部分-朱有鹏-专题视频课程

    STM32上第一个程序 GPIO控制LED 第3季第5部分 759人已学习 课程介绍 本课程是 朱有鹏老师单片机完全学习系列课程 第3季第5个课程 xff0c 从零开始带大家写代码控制板载LED xff0c 并且用三个版本的开发板都实现了功
  • Cas 5.3x cas-overlay-template用iframe实现登录跳转

    Cas 5 3x cas overlay template用iframe实现登录跳转 在上一篇Cas 5 3x 简单配置 xff0c 解决https访问的问题的基础上 xff0c 我尝试了一下如何用iframe实现登录和跳转 xff0c 因
  • Linux自带防火墙基本使用

    文章目录 四 Linux自带防火墙1 查看linux的防火墙状态2 查看已经对外开放的端口3 开放端口 重载防火墙配置4 filewalld常用命令 四 Linux自带防火墙 前言 xff1a CentOS7 端口的开放关闭查看都是用防火墙
  • BGP边界网关协议基础知识点

    BGP xff1a 边界网关协议 AS 自治系统 由单一机构或组织管理的一系列IP网络机器设备的集合 网络范围太大 xff0c 协议跑不过来 xff0c 需要进行划分自治管理 为了方便区分和标定不同AS xff0c 我们给每个自治系统设计了
  • 温湿度传感器SHTC3驱动开发(一)小白也能轻松理解

    一 首先了解设备硬件原理图 首先在公司干活 xff0c 要你开发一个设备驱动 xff0c 那你的老大必须得给你的东西如下 xff1a 开发板主板硬件原理图驱动设备的硬件原理图驱动的设备的数据手册 xff08 datasheet xff09
  • nodejs的版本管理工具(nvm)

    1 nvm是什么 nvm全名node js version management xff0c 顾名思义是一个nodejs的版本管理工具 为了解决node各种版本存在不兼容现象 nvm是让你在同一台机器上安装和切换不同版本的node的工具 x
  • A变为a和a的ASCII值

    span class hljs comment include lt stdio h gt span main char ch span class hljs keyword printf span span class hljs stri
  • 机器学习python Kmeans聚类

    import numpy as np import matplotlib pyplot as plt import pandas as pd from sklearn cluster import KMeans from sklearn i
  • 为wget命令设置代理

    实验环境 xff1a ubuntu 12 04 LTS goagent 方法一 在环境变量中设置代理 export http proxy 61 http 127 0 0 1 8087 方法二 使用配置文件 为wget使用代理 xff0c 可
  • ubuntu14.04安裝numpy,scipy

    在windows下搞python xff0c 实在出错太多 xff0c 就安装了双系统 xff0c 在ubuntu下试着学习一下 xff0c 我的ubuntu版本为ubuntu14 04 以前不知道python的这些包之间是有依赖关系的 x
  • STM32的中断体系和FSMC控制LCD-第3季第7部分视频课程-朱有鹏-专题视频课程

    STM32的中断体系和FSMC控制LCD 第3季第7部分视频课程 861人已学习 课程介绍 本课程是 朱有鹏老师单片机完全学习系列课程 第3季第7个课程 xff0c 本课程详细讲解STM32的外部中断和FSMC模块 xff0c 这两个模块都
  • ubuntu加入Windows的AD域(使用Samba和Winbind的方式)

    ubuntu加入Windows的AD域 Integrate Ubuntu 16 04 to AD as a Domain Member with Samba and Winbind Part 8 Step 1 Initial Configu
  • XTU 1262 Fish(优先队列+贪心)

    钓鱼 http 202 197 224 59 exam index php problem read id 1262 题目描述 小明很喜欢钓鱼 xff0c 现在有n个池塘可以钓鱼 xff0c 第i个池塘首次内能钓到ai条鱼 第i个池塘如果被