随笔分类 - ACM_排序
摘要:题目链接:http://poj.org/problem?id=2299思路分析:序列的逆序数即为交换次数,所以求出该序列的逆序数即可。根据分治法思想,序列分为两个大小相等的两部分,分别求子序列的逆序数;对于右子序列中的每一个数,求出左序列中大于它的数的数目,计算的和即为解。另外,使用Merge排序时...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2021思路分析:由于数据较小,采用O(N^2)的暴力算法,算出所有后代的年龄,再排序输出。代码分析:#include #include #include using namespace std;#define MAX_N ( 100 +...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2092思路分析:先统计数据,在根据Count降序排序,Count相等时按照Num升序排序;再输出Count第二大的所有Num;代码如下:#include #include #include using namespace std;#de...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1002思路分析:先对输入字符进行处理,转换为标准形式;插入标准形式的电话号码到查找树中,若有相同号码计数器增加1,再中序遍历查找树。代码如下:#include #include #include struct TreeNode;type...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2231思路分析:先排序,再推导计算公式。代码如下:#include #include using namespace std;int main(){ long long int ans = 0, arr[10010]; in...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2371思路分析:使用计数排序或其他时间复杂度为O( log N )的排序。代码如下:#include #include #define MAX_N ( 100000 + 10 )using namespace std;int A[MAX...
阅读全文

浙公网安备 33010602011771号