题目链接:ZJYYC Online Judge (nwanna.cn)

题目描述:

唐学长有一个包含n首歌的播放列表。第i首歌的特点是有两个数字ti和bi,分别是长度和美值。听一组歌曲的快乐值等于一组歌曲的总长度乘以其中最小的美。例如,听一组长度[5,7,4]和美值[11,14,6]的3首歌曲的快乐值等于(5+7+4)⋅6=96。
你需要从你的播放列表中选择最多k首歌曲,所以听这些歌曲的乐趣是最大可能的。

输入描述:

第一行包含两个整数n和k(1 ≤ k ≤ n ≤ 3⋅105)分别是播放列表中的歌曲数和你可以选择的最大歌曲数。
接下来的n行包含两个整数ti和bi(1 ≤ ti , bi ≤ 106)-第i首歌的长度和美值。

输出描述:

打印一个整数表示唐学长能得到的最大快乐值是多少。

测试样例:

样例输入 1

4 3

4 7

15 1

3 6

6 8

样例输出 1

78

样例输入 2

5 3

12 31

112 4

100 100

13 55

55 50

样例输出 2

10000

提示:

在第一个测试案例中,我们可以选择歌曲1、3、4,那么总快乐指数为(4+3+6)⋅6=78。
在第二个测试案例中,我们可以选择歌曲3。总快乐指数等于100⋅100=10000。

思路:当你选择一首歌的时候,假设这首歌的的值为t,b
则最优方案是从大于等于b的歌里再选出k-1首长度最大的歌
用优先队列解决
把所有歌按b从大到小排序,遍历一遍,累加长度
当遍历到歌x的时候,答案即为长度和乘上歌x的美丽值
因为已经按b从大到小排序,因此x左边的所有歌的b都大于x
当队列已经有k首的时候,先出队一个长度最小的,然后再插入x

#include<bits/stdc++.h>
using namespace std;struct node{int t;//长度int b;//美值
}arr[300005];priority_queue<int, vector<int>, greater<int> > q;bool cmp(node a, node b){return a.b > b.b;
}int main(){int n, k;while(cin >> n >> k){while(!q.empty()){q.pop();}for(int i = 0; i < n; i++){cin >> arr[i].t >> arr[i].b;}sort(arr, arr + n, cmp);int sum = 0;int ans = 0;for(int i = 0; i < n; i++){if((int)q.size() == k){sum -= q.top();q.pop();}sum += arr[i].t;q.push(arr[i].t);ans = max(ans, sum * arr[i].b);}cout << ans << endl;}return 0;
}

ZJYYC F.唐学长的歌单 优先队列相关推荐

  1. python代码示例下载-Python下载网易云歌单歌曲的示例代码

    今天写了个下载脚本,记录一下 效果: 直接上代码: # 网易云 根据歌单链接下载MP3歌曲 import requests from bs4 import BeautifulSoup def main ...

  2. python 爬虫下载网易歌单歌曲

    python 爬虫下载网易歌单歌曲 可以根据歌单 id 来下载歌单中的所有音乐,付费音乐除外 可以自己输入歌单 id 来进行单个歌单下载,也可以结合上一篇文章 爬取网易云音乐所有歌单信息 先取到所有的 ...

  3. 获取网易云音乐开放接口api的推荐歌单

    网易云音乐开放api接口 网址:https://binaryify.github.io/NeteaseCloudMusicApi/#/?id=neteasecloudmusicapi 项目地址:htt ...

  4. python下载自己网易云歌单的歌曲

    1.登录网页端网易云,复制cookie 2.输入歌单ID(就是后面的一串数字) 3.运行 网页端访问别人歌单只能看到20首歌,太难了,加上cookie还能访问自己的,还不错,虽然是标准音质 # -*- ...

  5. Python爬虫-selenium爬取网易云歌单

    文章目录 (一)工欲善其事必先利其器-安装工具 Selenium 浏览器 (二)实战 (一)工欲善其事必先利其器-安装工具 Selenium Selenium是一个强大的网络数据采集工具,其最初是为网 ...

  6. python3爬虫爬取网易云_【Python3爬虫】网易云音乐歌单下载

    一.目标: 下载网易云音乐热门歌单 二.用到的模块: requests,multiprocessing,re. 三.步骤: (1)页面分析:首先打开网易云音乐,选择热门歌单,可以看到以下歌单列表,然后 ...

  7. Python爬虫之网易云歌单音频爬取(解决urlretrieve爬取文件不能播放问题)

    网易云歌单音频爬取 写在前面:最近学习爬虫,对小说和图片都进行过简单爬取,所以打算爬取音频,但是其中遇到点问题也解决了,写下博客记录并希望对大家也有帮助. 爬取对象:对于目前主流的几个音频播放网站,我 ...

  8. 网易云音乐歌单可视化,有多少是你收藏过的呢

    网易云音乐2018年度听歌报告-遇见你,真好. 相信有不少人在上周,应该已经看过自己网易云音乐的年度报告了. 小F也是去凑凑热闹,瞅了一波自己的年度听歌报告. 那么你在云村又听了多少首歌,听到最多的歌 ...

  9. 个人博客中MetingJS引用qq音乐列表歌单

    创建第一个文件APlayer.min.css文件 .aplayer {background: #fff;font-family: Arial, Helvetica, sans-serif;margin ...

最新文章

  1. 15.4 xshell使用xftp传输文件;15.5 使用pure-ftpd搭建ftp服务
  2. unity3D游戏开发三之unity编辑器二
  3. JS 根据子网掩码,网关计算出所有的IP范围
  4. vue实现侧边折叠菜单栏手风琴效果
  5. hystrix熔断 简介_Hystrix简介
  6. 南大用“推荐算法”分宿舍666,新生配好舍友美滋滋
  7. RabbitMQ集群(单机多实例部署)
  8. 股市三大定律是什么?
  9. 数据挖掘概念与技术(原书第三版)范明 孟小峰译-----第一章课后习题答案
  10. 初级电工实训考核柜装置
  11. 台式计算机开关电源原理图,计算机开关电源原理图电路分析
  12. js正则验证手机号码和座机号码及邮箱
  13. SEO的日常主要工作做哪些
  14. 动词变名词的变化规则_高中英语动词变名词的变化规则
  15. 200+ML知识速查卡;『图解算法数据结构』配套代码;『剑指Offer』解题代码;『Python3』高频面试题目集;前沿论文 | ShowMeAI资讯日报
  16. 计算机配置单性价比高,i5电脑主机配置单,性价比高
  17. 数据分析——实习僧数据分析岗招聘信息分析
  18. Java十年 十大组织
  19. 构建gcc交叉编译工具链
  20. 大破才能大立?数字化转型助你说不!影子、柔性组织的决策与效率提升

热门文章

  1. JDK、IDEA安装步骤
  2. 一个简单的接口压力测试
  3. 《Linux Shell编程学习笔记之一》
  4. 计算机技术指标是,计算机主要技术指标通常是指
  5. 【荣耀开发者服务平台—百亿曝光扶持等你来】智慧服务内容接口卡片接入指南
  6. 判断推理之一一对应题
  7. 【qq机器人】抖音视频分享
  8. 非科班出身,工作 10 年,我从 2800 到如今年薪 200 万
  9. 如何查看python安装位置图_如何查看pymysql 安装成功
  10. SpringBoot过滤器获取POST请求的JSON参数