摘要: 记得曾参考教材与几篇博客,最终写出自己的快速排序终极版。 详情可见 排序系列。 最终的版本大概是下面这个样子。 1 int Partition(int first, int end) { 2 //此处选择数列第一个记录作为基准 3 int tmp = r[first]; 4 while (first 阅读全文
posted @ 2021-08-11 20:26 Rekord 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 2011 假定三个2011相乘,取出前两个2011相乘的结果后四位与第三个2011相乘并对结果取后四位即为最终结果。 看到这是不是就想循环求解? 让我来滋醒你,200位的循环次数,不爆是不可能的! 而使用分治,200位大概等于2700,也就是说最多700轮分治左右(这里不算特殊情况20111)。 所 阅读全文
posted @ 2021-08-11 17:38 Rekord 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 输出前k大的数 写这题时还偶然发现以前写的优化快排居然是错误的。——》快速排序优化方案的否定 思路的话,大致就是快排的删减版,即减少不必要的分治。(25行) 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 5 cons 阅读全文
posted @ 2021-08-11 15:58 Rekord 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 黑白棋子的移动 当左边连续白棋还有一定数量时(>4),每次移动其实是一样的方式。(16、23行) 当按照这种固定的方式进行移动后,除去移动好了的棋子整个棋盘可以看作是原棋盘的子集。 至于左边白棋数量等于4时,就可以当做临界条件特殊处理。(16、18、19、20、21行) 1 #include<ios 阅读全文
posted @ 2021-08-11 13:38 Rekord 阅读(651) 评论(0) 推荐(1) 编辑
摘要: 循环比赛日程表 当m=3时 第一天 第二天 第三天 第四天 第五天 第六天 第七天 1 2 3 4 5 6 7 8 2 1 4 3 6 5 8 7 3 4 1 2 7 8 5 6 4 3 2 1 8 7 6 5 5 6 7 8 1 2 3 4 6 5 8 7 2 1 4 3 7 8 5 6 3 4 阅读全文
posted @ 2021-08-11 10:46 Rekord 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 最大子矩阵 用的方法应该叫并查集。 更恰当的题目应当是相邻最大子矩阵。 1 #include<iostream> 2 using namespace std; 3 4 const int N=105; 5 int a[N][N]; 6 int main(){ 7 int n,maxx=-100000 阅读全文
posted @ 2021-08-10 18:05 Rekord 阅读(388) 评论(0) 推荐(0) 编辑
摘要: An Easy Problem 实话实说我也不知道为什么它归类在贪心算法里。(*❦ω❦) 1 #include<iostream> 2 using namespace std; 3 4 int cnt(int n){ 5 int sum=0; 6 while(n){ 7 if(n%2)sum++; 阅读全文
posted @ 2021-08-10 16:23 Rekord 阅读(524) 评论(2) 推荐(0) 编辑
摘要: 拦截导弹问题 易错点在于: 不考虑“之前”的导弹拦截系统。 每次“无奈”增加导弹拦截系统后,之前的导弹拦截系统也是有效的,也是能够发挥作用的。 1 #include<iostream> 2 using namespace std; 3 const int N=1005; 4 int main(){ 阅读全文
posted @ 2021-08-10 15:18 Rekord 阅读(1358) 评论(0) 推荐(0) 编辑
摘要: 删数问题 这里面有一个未明确说明的情况: 答案的第一位可以为0,甚至答案的每一位都可以为0。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 const int N=245; 6 阅读全文
posted @ 2021-08-10 12:52 Rekord 阅读(831) 评论(0) 推荐(0) 编辑
摘要: 均分纸牌 遍历纸牌多退少补就完事了!(*^▽^*) 如果已经有纸牌堆满足要求,此时无需移动纸牌! 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 const int N=105; 5 int t[N]; 6 int m 阅读全文
posted @ 2021-08-10 11:50 Rekord 阅读(524) 评论(0) 推荐(0) 编辑