Loading

摘要: 补题链接:Here 将一堆正整数分为2组,要求2组的和相差最小。 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。 输入 第1行:一个数N,N为正整数的数量。 第2 - N+1行,N个正整数。 (N <= 100, 所有正整数的和 <= 1000 阅读全文
posted @ 2021-04-01 21:19 RioTian 阅读(62) 评论(0) 推荐(0)
摘要: 上一节的冒泡排序可以说是我们学习第一个真正的排序算法,并且解决了桶排序浪费空间的问题,但在算法的执行效率上却牺牲了很多,它的时间复杂度达到了 \(O(N^2)\)。假如我们的计算机每秒钟可以运行 10 亿次,那么对 1 亿个数进行排序,桶排序则只需要 0.1 秒,而冒泡排序则需要 1 千万秒,达到 阅读全文
posted @ 2021-04-01 20:39 RioTian 阅读(88) 评论(0) 推荐(0)
摘要: 简化版的桶排序不仅仅有上一节所遗留的问题,更要命的是:它非常浪费空间!例如需要排序数的范围是 02100000000 之间,那你则需要申请 2100000001 个变量,也就是说要写成 int a[2100000001]。因为我们需要用 2100000001 个“桶”来存储 02100000000 阅读全文
posted @ 2021-04-01 20:38 RioTian 阅读(85) 评论(0) 推荐(0)
摘要: 在我们生活的这个世界中到处都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东西都需要排序,可以说排序是无处不在。现在我们举个具体的例子来介绍一下排序算法。 首先出场的我们的主人公小哼,上面这个可爱的娃就是啦。 阅读全文
posted @ 2021-04-01 20:37 RioTian 阅读(75) 评论(0) 推荐(0)
摘要: 补题链接:Here A - box 输出 \(N - A + B\) B - Various distances 按题意输出 3 种距离即可 #include <bits/stdc++.h> using namespace std; using ll = long long; int main() 阅读全文
posted @ 2021-04-01 20:03 RioTian 阅读(298) 评论(0) 推荐(0)
摘要: 莫名感觉模拟赛永远比正赛简单亿点点 第一题 问题描述 : 小明要用二进制来表示 1 到 10000 的所有整数,要求不同的整数用不同的二进制数表示,请问,为了表示 1 到 10000 的所有整数,至少需要多少个二进制位? 答案:14 \(2^{14} > 10000\) 第二题 问题描述 : 请问在 阅读全文
posted @ 2021-04-01 15:15 RioTian 阅读(512) 评论(0) 推荐(0)