题目描述球球和小姜管理着巨大的校园超市联盟,听说今年将有很多OIer到学校来参加NOIP,他俩决定在NOIP期间(包括准备期间)举行促销活动。
促销活动必须遵守下列规定:
想要参加促销的每位OIer,必须将自己的每笔消费账单丟入指定的盒子里。每天活动结束时,球球和小姜会从盒子里挑出金额最大和最小的两张账单。消费最多的客户将要得到一笔奖金! 数额是挑出的两张金额的差的绝对值。输入数据保证每天总可以找到两张账单。
为了避免重复获奖,每天挑出的账单不能重新放回盒子里,其余的账单将留在盒中,继续参加促销活动,直到活动结束。
在紧张的复习NOIP阶段,球球和小姜实在没有精力来计算促销活动的花费,他们找到了聪明的你,你的任务是根据每天活动的信息算出促销活动的总花费。
输入格式输入的第一行是一个整数n,表示促销的天数。(1 <= n <= 5000)
在接下来的n行中,每行有若干个非负整数,用空格隔开。第i+1行的数据代表第i天的账单信息,每行第一个整数k(0 <= k <= 10^5)。表示今天有多少个新账单。接下来k个正整数表示每张账单的金额wij(1 <= wij <= 10^6)
输出格式输出中只有一个整数,表示整个促销活动期间所有的花费。
样例输入
5
3 1 2 3
2 1 1
4 10 5 5 1
0
1 2
样例输出
19

平衡二叉樹做法:用STL的multiset做會很簡單。

Accode:

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <set>using std::multiset;const char fi[] = "rqnoj572.in";
const char fo[] = "rqnoj572.out";
const int maxN = 5010;multiset <int> task;
int n, ans;void init_file(){freopen(fi, "r", stdin);freopen(fo, "w", stdout);}void work(){scanf("%d", &n);ans = 0;for (int i = 0; i < n; ++i){int t;scanf("%d", &t);for (; t; --t){int x;scanf("%d", &x);task.insert(x);}int Min = *task.begin();task.erase(task.begin());int Max = *task.rbegin();ans += Max - Min;task.erase(task.find(Max));}if (ans != 2) printf("%d", ans);else printf("\n");}int main()
{init_file();work();exit(0);
}

【平衡二叉樹】超市促銷相关推荐

  1. 看动画学算法之:平衡二叉搜索树AVL Tree

    简介 平衡二叉搜索树是一种特殊的二叉搜索树.为什么会有平衡二叉搜索树呢? 考虑一下二叉搜索树的特殊情况,如果一个二叉搜索树所有的节点都是右节点,那么这个二叉搜索树将会退化成为链表.从而导致搜索的时间复 ...

  2. 牛客题霸 [将升序数组转化为平衡二叉搜索树]C++题解/答案

    牛客题霸 [将升序数组转化为平衡二叉搜索树]C++题解/答案 题目描述 给出一个升序排序的数组,将其转化为平衡二叉搜索树(BST). 题解: 二叉搜索树的定义: 二叉搜索树或者是一棵空树,或者是具有下 ...

  3. 根据数组建立平衡二叉搜索树

    它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉(搜索)树. 二分:用有序数组中中间的数生成搜索二叉树的头节点,然后对数组的左右部分分别生成左右子树即可(重复 ...

  4. 程序员面试金典 - 面试题 17.11. 单词距离(multimap平衡二叉搜索树)

    1. 题目 有个内含单词的超大文本文件,给定任意两个单词,找出在这个文件中这两个单词的最短距离(相隔单词数). 如果寻找过程在这个文件中会重复多次,而每次寻找的单词不同,你能对此优化吗? 示例: 输入 ...

  5. 红黑树 平衡二叉搜索树_红黑树:自我平衡的二叉搜索树,并举例说明

    红黑树 平衡二叉搜索树 什么是红黑树? (What is a Red-Black Tree?) Red-Black Tree is a type of self-balancing Binary Se ...

  6. 平衡二叉搜索树的创建

    平衡二叉搜索树 平衡二叉树:每个结点的左右子树高度差不超过1,左右子树均为平衡二叉树 搜索二叉树:左结点 < 根结点 <右结点 平衡二叉搜索树则是优化后的搜索二叉树,使得查找的效率提升,但 ...

  7. 《恋上数据结构第1季》平衡二叉搜索树、AVL树

    AVL树 二叉搜索树缺点分析 改进二叉搜索树 平衡(Balance) 理想平衡 如何改进二叉搜索树? 平衡二叉搜索树(Balanced Binary Search Tree) AVL树 BST 对比 ...

  8. 给出中序和前序求后序Java,已知二叉樹前序,中序遍歷,求后序遍歷,java實現...

    簡單介紹一下思想,先看前序,前序遍歷的第一個節點,就是該樹的根.在中序中找到該根的位置,設為index,在中序遍歷集合中,位於index之前的屬於根的左子樹,位於index之后的屬於根的右子樹.然后, ...

  9. 数据结构与算法-平衡二叉搜索树

    平衡二叉搜索树 1.自平衡的二叉搜索树 2.平衡 (1)空树平衡 (2)非空树平衡 左右子树平衡 左右子树高度差绝对值 <= 1 3.平衡因子 左右子树的高度差的衡量值 -1 0 1 (一)平衡 ...

最新文章

  1. 嘿 Siri,有没有「三天速成深度学习」的课程?
  2. crmeb单商户java版安装_前端配置说明 · CRMEB 单商户Java版 帮助文档 · 看云
  3. Deep Reinforcement Learning: Pong from Pixels
  4. Please let us know in case of any issues
  5. 济南市区块链产业创新发展行动计划对外公布
  6. Linux LVM过程问题
  7. 数据结构线性表的三个属性
  8. 元素居中的一种特殊方法
  9. python必背入门代码-你们都是怎么学 Python 的?
  10. php 未找到驱动程序,Laravel 5 PDOException找不到驱动程序
  11. 独生子女证每月增加3%的退休金,但丢了怎么办?
  12. coolite 获取新的页面链接到当前页面指定位置Panel的运用
  13. 使用Zephir来快速编写高性能PHP二进制拓展
  14. bbs与BLOG与SNS在区别
  15. 分享一些查询资源的网站
  16. google四件套之Dagger2。从入门到爱不释手,之:Dagger2基础知识及在Java中使用(2)
  17. 传奇脚本称号(封号)设置的详解
  18. 用Python为直方图绘制拟合正态分布曲线的两种方法
  19. 1ke android逆向助手_android逆向助手
  20. 金铖计算机学校,金铖计算机学校附近好玩的

热门文章

  1. python进阶之web前端(01—HTML超文本标记语言)
  2. [源码和文档分享]基于C语言实现的汽车牌照的快速查询
  3. 小程序 web-view 打开 微信公众号文章
  4. 电脑可以上网但网络显示感叹号无Internet的解决办法
  5. 什么是商业智能 (BI) 仪表板?
  6. oracle 19c ORA-00942: 表或视图不存在 ORA-02063: 紧接着 line
  7. 用AI进行工业质检的方案详解!
  8. 三个月速成Java--一些小建议和感概
  9. 14期《掬水月在手,弄花香满衣》1月刊
  10. mfc中插入PNG透明图片