专栏首页Zaqdt_ACM牛客寒假算法基础集训营3 D. 处女座的训练(思维)

牛客寒假算法基础集训营3 D. 处女座的训练(思维)

题目链接:https://ac.nowcoder.com/acm/contest/329/D

       一道贪心题,其实思路想的都差不多,但是这个贪心的排序应该是按bi/ai的,算出来单位时间内的疲劳值消耗(类似性价比),还有就是除法可能会有一个精度损失,所以cmp可以用不等式的性质,把除法换成乘法就好了。


AC代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
int n;
struct Node{
  ll x,y;
}Edge[100005];

bool cmp(Node a, Node b){
  return a.y * b.x > b.y * a.x;
}

int main()
{
  scanf("%d",&n);
  ll sum = 0;
  for(int i=0;i<n;i++){
    scanf("%lld%lld",&Edge[i].x,&Edge[i].y);
    sum += Edge[i].y;
  }
  sort(Edge, Edge + n, cmp);
  ll ans = 0;
  for(int i=0;i<n;i++){
    sum -= Edge[i].y;
    ans += Edge[i].x * sum;
  }
  printf("%lld\n",ans);
  return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Atcoder Beginner Contest 113 C. ID(模拟)

    题目链接:https://abc113.contest.atcoder.jp/tasks/abc113_c

    Ch_Zaqdt
  • Codeforces Round #514 (Div. 2) A. Cashier(水题)

    题目链接:http://codeforces.com/contest/1059/problem/A

    Ch_Zaqdt
  • Codeforces Round #527 (Div. 3) C. Prefixes and Suffixes(思维+模拟)

    题目链接:http://codeforces.com/contest/1092/problem/C

    Ch_Zaqdt
  • Win10这样卸载Edge浏览器不会导致注销和重启变慢

    Win10,每个用户(操作系统级别的用户)登录都会有个Edge,微软不让卸载,我研究了一种办法,每个用户的卸载办法一样

    我爱你的一诺
  • Atcoder Beginner Contest 113 C. ID(模拟)

    题目链接:https://abc113.contest.atcoder.jp/tasks/abc113_c

    Ch_Zaqdt
  • Codeforces Round #527 (Div. 3) C. Prefixes and Suffixes(思维+模拟)

    题目链接:http://codeforces.com/contest/1092/problem/C

    Ch_Zaqdt
  • Codeforces Round #514 (Div. 2) A. Cashier(水题)

    题目链接:http://codeforces.com/contest/1059/problem/A

    Ch_Zaqdt
  • 浅谈几种设计模式--模板模式

    模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

    Java后端技术全栈
  • 熟悉Kubernetes卷管理方案,看这个11分钟的视频就够了

    自“深入浅出Kubernetes存储”系列课程第一期推出已有一段时间了,童鞋们是不是都苦苦等待着第二期呢?

    沃趣科技
  • VBA中重要的强制申明,谁看谁明白

    前几次的VBA分享,在留言区收到了很多同学的实际需求。大家的支持,是我们持续分享的动力。

    猴子数据分析

扫码关注云+社区

领取腾讯云代金券