ZJYYC F.唐学长的歌单 优先队列
题目链接: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.唐学长的歌单 优先队列相关推荐
- python代码示例下载-Python下载网易云歌单歌曲的示例代码
今天写了个下载脚本,记录一下 效果: 直接上代码: # 网易云 根据歌单链接下载MP3歌曲 import requests from bs4 import BeautifulSoup def main ...
- python 爬虫下载网易歌单歌曲
python 爬虫下载网易歌单歌曲 可以根据歌单 id 来下载歌单中的所有音乐,付费音乐除外 可以自己输入歌单 id 来进行单个歌单下载,也可以结合上一篇文章 爬取网易云音乐所有歌单信息 先取到所有的 ...
- 获取网易云音乐开放接口api的推荐歌单
网易云音乐开放api接口 网址:https://binaryify.github.io/NeteaseCloudMusicApi/#/?id=neteasecloudmusicapi 项目地址:htt ...
- python下载自己网易云歌单的歌曲
1.登录网页端网易云,复制cookie 2.输入歌单ID(就是后面的一串数字) 3.运行 网页端访问别人歌单只能看到20首歌,太难了,加上cookie还能访问自己的,还不错,虽然是标准音质 # -*- ...
- Python爬虫-selenium爬取网易云歌单
文章目录 (一)工欲善其事必先利其器-安装工具 Selenium 浏览器 (二)实战 (一)工欲善其事必先利其器-安装工具 Selenium Selenium是一个强大的网络数据采集工具,其最初是为网 ...
- python3爬虫爬取网易云_【Python3爬虫】网易云音乐歌单下载
一.目标: 下载网易云音乐热门歌单 二.用到的模块: requests,multiprocessing,re. 三.步骤: (1)页面分析:首先打开网易云音乐,选择热门歌单,可以看到以下歌单列表,然后 ...
- Python爬虫之网易云歌单音频爬取(解决urlretrieve爬取文件不能播放问题)
网易云歌单音频爬取 写在前面:最近学习爬虫,对小说和图片都进行过简单爬取,所以打算爬取音频,但是其中遇到点问题也解决了,写下博客记录并希望对大家也有帮助. 爬取对象:对于目前主流的几个音频播放网站,我 ...
- 网易云音乐歌单可视化,有多少是你收藏过的呢
网易云音乐2018年度听歌报告-遇见你,真好. 相信有不少人在上周,应该已经看过自己网易云音乐的年度报告了. 小F也是去凑凑热闹,瞅了一波自己的年度听歌报告. 那么你在云村又听了多少首歌,听到最多的歌 ...
- 个人博客中MetingJS引用qq音乐列表歌单
创建第一个文件APlayer.min.css文件 .aplayer {background: #fff;font-family: Arial, Helvetica, sans-serif;margin ...
最新文章
- 15.4 xshell使用xftp传输文件;15.5 使用pure-ftpd搭建ftp服务
- unity3D游戏开发三之unity编辑器二
- JS 根据子网掩码,网关计算出所有的IP范围
- vue实现侧边折叠菜单栏手风琴效果
- hystrix熔断 简介_Hystrix简介
- 南大用“推荐算法”分宿舍666,新生配好舍友美滋滋
- RabbitMQ集群(单机多实例部署)
- 股市三大定律是什么?
- 数据挖掘概念与技术(原书第三版)范明 孟小峰译-----第一章课后习题答案
- 初级电工实训考核柜装置
- 台式计算机开关电源原理图,计算机开关电源原理图电路分析
- js正则验证手机号码和座机号码及邮箱
- SEO的日常主要工作做哪些
- 动词变名词的变化规则_高中英语动词变名词的变化规则
- 200+ML知识速查卡;『图解算法数据结构』配套代码;『剑指Offer』解题代码;『Python3』高频面试题目集;前沿论文 | ShowMeAI资讯日报
- 计算机配置单性价比高,i5电脑主机配置单,性价比高
- 数据分析——实习僧数据分析岗招聘信息分析
- Java十年 十大组织
- 构建gcc交叉编译工具链
- 大破才能大立?数字化转型助你说不!影子、柔性组织的决策与效率提升