摘要:
原题链接:https://www.luogu.com.cn/problem/P1152 题意解读:要判断相邻数差的绝对值是否覆盖1~n-1,只需遍历相邻两数之差,借助数组标记差的绝对值是否存在,然后遍历数组即可。 解题思路: 此题有两个注意点: 1、数值要用long long 2、计算差值绝对值后, 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1116 题意解读:由于只能交换相邻的两节车厢,因此只能采用冒泡排序法,记录冒泡排序过程中交换的次数即可。 100分代码: #include <bits/stdc++.h> using namespace std; con 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P2676 题意解读:要使能够到书架顶的牛数量最少,优先选高的牛即可,直到总身高超过书架高度,简单的排序+贪心,下面给出代码。 100分代码: #include <bits/stdc++.h> using namespace 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1781 题意解读:题目思路非常简单,在n个投票数中选最大的,并记录其编号即可,由于投票数很大,无法直接用整形,需要通过string来进行数字比较。 解题思路: 本题的关键在于如何比较string数字的大小?在高精度减法时 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1093 题意解读:本题考察排序,根据题意,先按总分从大到小排,再按语文从大到小排,以上都相同则按学号从小到大排。 100分代码: #include <bits/stdc++.h> using namespace std; 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1059 题意解读:此题主要做两件事:排序+去重,用计数排序即可解决,直接给出代码。 100分代码: #include <bits/stdc++.h> using namespace std; const int N = 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1923 题意解读: 要最快的求第k小的数,O(n)的做法是利用快排的思想对数据进行划分 第一步、取分界点x,通常设x = a[(l + r) / 2] 第二步、将小于等于x的挪到x左边,将大于等于x的挪到x右边 第三步、 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1177 题意解读:数据量为100000,必须用小于等于N*logN复杂度的排序算法,可以直接用sort,更重要需要掌握快速排序的过程。 知识点:快速排序 设定数组q[n],l,r 第一步:确定分界点x 可以取q[l]、q 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1271 题意解读: 最直接的计数排序问题,借助一个桶h[N],对被投票的候选人x执行h[x]++,再按顺序遍历输出即可。 100分代码: #include <bits/stdc++.h> using namespace 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1045 题意解读: 要计算2p- 1的位数和最后500位,实际上只需要计算2p,两者位数一致,前者比后者个位减1即可,且个位肯定不会是0,比较容易处理。 解题思路: 一、朴素做法 如果直接采用高精度乘法计算2p,p最大3 阅读全文