2021-TRN2-F
https://vjudge.net/contest/422763#problem/F
原题复制粘贴
n个人一起排队接水,第i个人的重要性是ai,需要bi的时间来接水。
1 <= n <= 100000
0 <= bi <= 1000
0 <= ai <= 1000
同时只能有一个人接水,正在接水的人和没有接水的人都需要等待。
完成接水的人会立刻消失,不会继续等待。
你可以决定所有人接水的顺序,并希望最小化所有人等待时间乘以自己的重要性ai的总和。
细节
题意,思路都不复杂,有些细节挺有趣的。
显然我们要按照ai/bi 的大小降序排序,但是问题出在ai,bi可以等于0,这个bug要单独处理。。。
事实上,如果ai为0,这个人的ai * bi就是0,直接把他搁在最后,对其他人没有影响;如果bi为0,那么只要将他搁在最前面,就能使他的ai*bi为0,而且对其他人也没有影响。
所以在处理的时候,可以直接忽略这两种情况。
对了,永远要注意结果是不是要用到long long 类型。。。
代码
#include <bits/stdc++.h>using namespace std;
const int maxn=1e5+5;
struct node
{int a,b;
}people[maxn];int cmp(struct node m,struct node n)
{return m.a*n.b>m.b*n.a;///这样写更好,避免double类型带来的可能误差
}
int main()
{int n,i;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d%d",&people[i].a,&people[i].b);if(people[i].a==0||people[i].b==0){i--;n--;}}sort(people+1,people+1+n,cmp);long long totaltime=0,ans=0;for(i=1;i<=n;i++){totaltime+=people[i].b;ans+=totaltime*people[i].a;}printf("%lld\n",ans);return 0;
}
2021-TRN2-F相关推荐
- 2021 第十二届蓝桥杯大赛软件赛省赛(第二场),C/C++大学B组题解
第1题 -- 求余 (5分) 直接输出2021%20 答案:1 #include<bits/stdc++.h> using namespace std;int main(){cout< ...
- 2021年第十二届蓝桥杯省赛B组(C/C++)第二场题解
文章目录 2021年第十二届蓝桥杯省赛B组(C/C++)第二场题解 1.求余 2.双阶乘 3.格点 4.整数分解 5.城邦 6.特殊年份 7.小平方 8.完全平方数 9.负载均衡 10.国际象棋 20 ...
- 论文翻译--[TPAMI 2021]Deep Hough Transform For Semantic Line Detection
目录 深度霍夫变换语义直线检测 摘要 1,引言 2,相关工作 3,方法 3.1直线参数化和反转 3.2 深度霍夫变换的特征变换 3.3 在参数空间上进行直线检测 3.4 反转映射 3.5 边缘导向 ...
- 第十二届蓝桥杯大赛软件赛省赛第二场【C++B组】
自己参加的是第一次场的,打的很烂.做了一下第二场的题,我是真想骂街. 第二场普遍简单许多. 目录 A: 求余 [签到] B: 双阶乘 [签到] C: 格点 [签到题] D: 整数分解 [DP] E: ...
- 第十二届蓝桥杯大赛软件赛省赛 C/C++ 大学B组
试题A :空间 67108864 试题B :卡片 // 答案是 3181 #include <iostream> using namespace std;int nums[15];bool ...
- 社会演化动力学:人类社会复杂性为何不断增加?
来源: 集智俱乐部 编译:任卡娜 审校:刘培源 编辑:邓一雪 导语 在全新世(the Holocene,11700年前以来)期间,人类社会的规模和复杂性显著地增长.一代又一代的研究者试图提出不同的理论 ...
- 【NLP】对比学习——文本匹配(二)
文章目录 d. SimCSE:2021.04 Unsupervised Supervised e. R-Drop(Supervised):2021.06 f. ESimCSE(Unsupervised ...
- 计算机网络:数据链路层功能
文章目录 1.为网络层提供服务 2.链路管理 3.帧定界.帧同步与透明传输 4.流量控制 5.差错控制 数据链路层在物理层提供服务的基础上向网络层提供服务,其主要作用是加强物理层传输原始比特流的功能, ...
- 既约分数(python)
题目描述 如果一个分数的分子和分母的最大公约数是1,这个分数称为既约分数.例如,3/4,5/2,1/8,7/1都是既约分数.请问,有多少个既约分数,分子和分母都是1到2020之间的整数(包括1和202 ...
- 如何使用 SHC 加密 Shell 脚本
如何在Linux环境中加密shell脚本?shell脚本包含密码,不希望其他具有执行权限的人查看shell脚本并获取密码.可以安装使用shc工具,普通用户无法读取shc创建的加密Shell脚本.SHC ...
最新文章
- Linux中Iptable防火墙规则的应用
- python为什么要使用闭包
- 初次了解node.js
- 基于改进YOLO v3网络的夜间环境柑橘识别方法
- 及cp含义_新媒体运营炒CP,既好用,又好玩(第327回)
- 如何正确的检测对象类型?
- iOS实现简书的账号识别方式(正则表达式)
- 响应式web设计之CSS3 Media Queries
- 【java】判断某段字符串的编码方式,并按照新的编码方式输出
- math ceil函数python_Python3 ceil() 函数
- cher怎么翻译中文_中文翻译法语收费标准是怎么定的
- 用Python代码实现将exl表格内容,批量写到word里面
- 汉化 工具 批量 自动化 批处理
- ORA-28100 策略函数方案NCSI无效
- 初创公司几个投资人,各占多少股份合适
- mvn help:system下载包失败解决
- 类似于计算机的文件管理器,XYplorer 21比电脑自带的文件管理器还好用的工具
- 内核与驱动文件的version magic匹配问题
- java使用es查询
- 计算机网络工程师多久过期,软考网络工程师证书有效期是多久?