第十一届蓝桥杯国赛H题答疑

  • 题目
    • 【题目描述】
    • 【输入格式】
    • 【输出格式】
    • 【样例输入】
    • 【样例输出】
    • 【样例说明】
    • 【评测用例规模与约定】
  • 分析(这篇水文的精髓)
  • 代码

题目


万一图片加载不出来的话可以看文字版(其实是为了这篇文章可能被根据题目内容搜到23333)

【题目描述】

有 n 位同学同时找老师答疑。每位同学都预先估计了自己答疑的时间。

老师可以安排答疑的顺序,同学们要依次进入老师办公室答疑。

一位同学答疑的过程如下:

  1. 首先进入办公室,编号为 i 的同学需要 si 毫秒的时间。

  2. 然后同学问问题老师解答,编号为 i 的同学需要 ai 毫秒的时间。

  3. 答疑完成后,同学很高兴,会在课程群里面发一条消息,需要的时间可
    以忽略。

  4. 最后同学收拾东西离开办公室,需要 ei 毫秒的时间。一般需要 10 秒、20 秒或 30 秒,即 ei 取值为 10000,20000 或 30000。

一位同学离开办公室后,紧接着下一位同学就可以进入办公室
了。

答疑从 0 时刻开始。老师想合理的安排答疑的顺序,使得同学们在课程群

里面发消息的时刻之和最小。

【输入格式】

输入第一行包含一个整数 n,表示同学的数量。

接下来 n 行,描述每位同学的时间。其中第 i 行包含三个整数 si, ai, ei,意义如上所述。

【输出格式】

输出一个整数,表示同学们在课程群里面发消息的时刻之和最小是多少。

【样例输入】

3
10000 10000 10000
20000 50000 20000
30000 20000 30000

【样例输出】

280000

【样例说明】

按照 1, 3, 2 的顺序答疑,发消息的时间分别是 20000, 80000, 180000。

【评测用例规模与约定】

对于 30% 的评测用例,1 ≤ n ≤ 20。

对于 60% 的评测用例,1 ≤ n ≤ 200。

对于所有评测用例,1 ≤ n ≤ 1000,1 ≤ si ≤ 60000,1 ≤ ai ≤ 1000000,

ei ∈ {10000, 20000, 30000},即 ei 一定是 10000、20000、30000 之一。

分析(这篇水文的精髓)

画个表统计26个人每个人的用时,他们加起来就是总用时

其中a-z代表不同的人,1和2是答疑用时,3是离开用时

1 2 3 26
s= a1+a2+ a1+a2+a3+b1+b2+ a1+a2+a3+b1+b2+b3+c1+c2+ a1+a2+a3+…+y1+y2+y3+z1+z2

这个再分析具体点,用as代表a的总时间,aw代表a的答疑时间

aw + as+bw + as+bs+cw + as+bs+cs+dw + ... + as+bs+cs+...+ys+zw

发现规律了吗?

合并同类项之后是

25as+24bs+23cs+...+ys+(aw+bw+...+zw(括起来的是常数,无论如何都要加的))

所以只要越靠前的学生的用时和越小,总和就越小。(因为越靠前的学生的用时被加的次数最多)

代码

class TimeCost():def __init__(s, a, b, c):s.w = a + bs.s = s.w + cdef __lt__(s, o):return s.s < o.sn = int(input())
l = []
for i in range(n):a, b, c = map(int, input().split())l.append(TimeCost(a, b, c))
l = sorted(l) # 就按照时间和排序一下就行了。
s, s1 = 0, 0
for i in l:s += i.w + s1s1 += i.s
print(s)

有个朋友看n最大才1000被唬住了,捂脸。以为不可能用排序就能解决。没想到啊。蓝桥杯真是能出人意料。

第十一届蓝桥杯国赛H题答疑相关推荐

  1. 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑

    题目链接 Ideas 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑 Code Python if __name__ == '__main__':n = int(input( ...

  2. 2020十一届蓝桥杯国赛二等奖Java B组

    大家觉得写还可以,可以点赞.收藏.关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录 参考博客https://blo ...

  3. 2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数

    2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数 在线评测 Ideas 对于一个纯循环小数,假设循环节为l,则小数为0.llll-,转换为分数就是 l / (10 ** n ...

  4. 第十一届蓝桥杯国赛题目

    以下是第十一届蓝桥杯国赛题目,供大家学习参考(提取码失效可以评论我) 百度云: 链接: https://pan.baidu.com/s/1g1o-px-RUVoXLLhRDS8cXQ 提取码: fgf ...

  5. 第十三届蓝桥杯国赛真题 PythonB组 复盘以及获奖感言(国一!!!)

    第十三届蓝桥杯国赛真题 PythonB组 复盘以及获奖感言(国一) 文章目录 第十三届蓝桥杯国赛真题 PythonB组 复盘以及获奖感言(国一)

  6. 2020/第十一届蓝桥杯国赛/Java-A

    试题A:和数个数 boolean isPrime(int n) {for (int i = 2; i <= Math.sqrt(n); i++) {if (n % i == 0) {return ...

  7. 第十一届蓝桥杯省赛真题——单词分析

    第十一届蓝桥杯省赛真题--单词分析 单词分析: [问题描述] 小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度. 小蓝学了很长时间也记不住一 ...

  8. 第十二届蓝桥杯国赛真题+题解 Python

    文章目录 写在前面 试题A:带宽 试题 B: 纯质数 试题C: 完全日期 试题D: 最小权值 试题 E: 大写 试题 F: 123 试题 G: 冰山 试题 H: 和与乘积 试题 I: 二进制问题 试题 ...

  9. 第12届蓝桥杯国赛真题剖析-2021年5月29日Scratch编程初中级组

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第128讲. 第12届蓝桥杯Scratch国赛真题,这 ...

最新文章

  1. Webpack 最佳实践总结(一)
  2. hive无法执行带where语句的SQL
  3. 基于R-CNN的物体检测-CVPR 2014
  4. 根据WordCloud的API参数来自定义词云
  5. node.js 函数定义和调用
  6. python bind sock_python SOCKET编程详细介绍
  7. PHP-递归扫描目录和删除目录
  8. 前端学习(2236):react的列表渲染二
  9. Java笔记(08):面向对象--抽象类
  10. A Simple Job
  11. centos7 网卡配置vlan_CentOS7网卡创建vlan步骤
  12. 试点高校网络教育部分公共基础课统一考试计算机应用基础答案,2019年6月试点高校网络教育部分公共基础课统一考试顺利结束...
  13. 验证牛顿公式的局部收敛性,并找到对于牛顿公式不收敛(发散)的函数,比较二分法与牛顿公式的收敛速度
  14. 【隐私计算笔谈】MPC系列专题(五):Beaver三元组和BMR协议
  15. 985、211外,你还应该清楚这些高校联盟!
  16. 基于WebSocket和Redis实现Bilibili弹幕效果
  17. 2021年中国TDI行业发展现状及进出口状况分析:我国TDI出口规模再创新高 [图]
  18. 专科mysql数据库大作业_数据库大作业整理·总
  19. 使用RENREN-GENERATOR时遇到循环错误问题 Relying upon circular references is discouraged and they are prohibited
  20. 【ios】提醒事项与日历同步升级版可快速新建提醒不用设置时间

热门文章

  1. [转]Windows鼠标右键菜单编辑
  2. 【招聘】百度AI算法和产品招聘专场
  3. 初探sendfile
  4. 《云原生之K8s实战》基于kubeadm部署K8S集群
  5. [极客大挑战 2019]Http1
  6. 你知道阿里钉钉群机器人@所有人自动发送消息功能用程序如何实现吗?
  7. 拉格朗日乘子法与KKT条件
  8. 【快速排序】c++实现快速排序代码
  9. FOJ 1018 Maximal Sum
  10. 【嵌入式基础】为什么0x100是256个字节、0x400是1KB、0x800是2KB、0x1000是4KB?