性价比排序~

简介: 性价比排序~

题目:处女座挑选了n道题开始刷,自己没有解决的题目每分钟都会给他带来bi的疲倦值,而解决每一道题目都需要花费ai分钟的时间。当然,处女座一般都是考虑清楚了再写题的,所以他在写题的时候都会精神抖擞,也就是说,当前正在写的那一题并不会给他带来任何疲劳。

找出最小所需要的疲倦值。


24.png

ps:(2≤N≤105).(2≤ai≤4*106).(1≤bi≤1000)


25.png

#include <stdio.h>
#include <algorithm>
using namespace std;
typedef struct ti
{
    long a;
    int b;
}ti;
ti arr[1000050];
bool cmp(ti A,ti B)
{
   return (A.a*1.0)/A.b<(B.a*1.0)/B.b ;    //性价比排序
} 
int main()
{
    long n;
    long long sum = 0;
    long long ans = 0;
    scanf("%d",&n);
    for(long i = 0;i < n;i++)
    {
        scanf("%d %d",&arr[i].a,&arr[i].b);
        sum += arr[i].b;
    }
    sort(arr,arr+n,cmp);
    for(long j = 0;j < n;j++)
    {
        sum -= arr[j].b;
        ans += sum * arr[j].a;
    }
    printf("%lld",ans);
    return 0;
}

思路:

我一开始的【错误思路】就是按照疲惫值由大到小排序,如果疲惫值一样,就按照做题时间由小到大排序。在依次计算求和即可。(但是当如果示例为 9/11 ; 10 /11 ; 2/8 的时候就发现按照比值排序的疲惫值更小)

但是这道题用的是【正确思路】性价比排序(比值?:用时间/疲惫值从大到小排序)……(类似于背包按单位体积价值排序??)


相关文章
|
7月前
|
搜索推荐 算法 Shell
几大排序的稳定性
几大排序的稳定性
56 1
|
3月前
|
存储 算法 NoSQL
11)面对千万级别的 key 应该如何节省内存
11)面对千万级别的 key 应该如何节省内存
33 0
11)面对千万级别的 key 应该如何节省内存
|
7月前
快速排序 通透百万数据秒级排序
快速排序 通透百万数据秒级排序
48 0
十个公式让您办公效率翻倍
分享几个好用的Excel公式
|
存储 弹性计算 负载均衡
极致产品更优价格,阿里云核心产品降价对开发者意味着什么?
自从云计算概念诞生以来,技术圈关于技术的演进展开了更为广阔的畅想,以至于让一系列的新技术和模式应运而生,如容器化、弹性计算、边缘计算等等,再加上云计算技术的不断发展和普及,越来越多的企业和个人用户能够更加经济便捷地获取计算资源。谈到云计算,就不得不提阿里云;谈到阿里云,就不得不提阿里云高性价比的方面。众所周知,阿里云作为在全球领先的云服务提供商,一直在以客户需求为导向,致力于给用户提供更加安全、多样、可靠、高效的云服务,以性价比高、产品多元化、人性化售后为宗旨。综合这些方面,阿里云提供的云服务的性价比越来越高,也让越来越多的用户体验到了阿里云的高品质云服务。阿里云提供非常丰富的云服务产品和解决
432 1
极致产品更优价格,阿里云核心产品降价对开发者意味着什么?
|
SQL 关系型数据库 MySQL
线上千万级大表排序:优化攻略揭秘,轻松应对海量数据!
前段时间应急群有客服反馈,会员管理功能无法按到店时间、到店次数、消费金额 进行排序。经过排查发现是Sql执行效率低,并且索引效率低下。遇到这样的情况我们该如何处理呢?今天我们聊一聊Mysql大表查询优化。
线上千万级大表排序:优化攻略揭秘,轻松应对海量数据!
|
算法 搜索推荐 C语言
【八大排序(十)】八大排序效率与稳定性分析
【八大排序(十)】八大排序效率与稳定性分析
|
存储 搜索推荐 算法
“插入排序:小数据量排序的王者“
“插入排序:小数据量排序的王者“
140 0
|
前端开发
检索业务:排序和价格区间及库存
检索业务:排序和价格区间及库存
|
搜索推荐 关系型数据库 MySQL
使用了ElasticSearch之后,公司系统查询速度快了50倍,工资直接翻一倍
使用了ElasticSearch之后,公司系统查询速度快了50倍,工资直接翻一倍
使用了ElasticSearch之后,公司系统查询速度快了50倍,工资直接翻一倍