分治
文章平均质量分 95
yanyanwenmeng
这个作者很懒,什么都没留下…
展开
-
归并排序(分治)
归并排序 分治原创 2017-08-21 18:17:25 · 378 阅读 · 0 评论 -
第十一周测验(二分法)
8208 矩形分割 http://noi.openjudge.cn/ch0111/03/8211 派 http://noi.openjudge.cn/ch0111/05/8209 月度开销 http://noi.openjudge.cn/ch0111/06/8210 河中跳房子 http://noi.openjudge.cn/ch0111/10/1458 Aggressive cows h...原创 2018-09-02 05:32:35 · 2154 阅读 · 0 评论 -
二分法求解最大最小值模板
二分法题解:https://www.cnblogs.com/hyl2000/p/5734908.html这类问题有个明显的特征:使最小值最大或者使最大值最小。这个时候大概步骤就是先对读进来的数据进行排序(因为二分查找是在有序的数据上进行的)然后执行二分。其中二分里的check函数是最关键的部分,例如第一题中我们就是二分答案,然后在check中贪心的来安排牛的位置,看是否能够满足答案。而第二题也...原创 2018-09-02 17:20:18 · 4480 阅读 · 0 评论 -
4.1 分治算法:归并排序
分析:参考自https://www.cnblogs.com/chengxiao/p/6194356.html归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"...转载 2018-10-09 22:46:07 · 516 阅读 · 0 评论 -
4.2 快速排序
快速排序的原理:比如有3个数4 7 2,我们把4作为关键字,把比4小的数排在4左边,把比4大的数排在4右边,最后的结果就为2 4 7。同理,当数很多的时候:第一步:我们可以选择第一个数为关键字,把比关键字小的排在关键字左边,把比关键字大的排在关键字右边。第二步:将关键字左边的数再次进行快速排序。第三步:将关键字右边的数再次进行快速排序。当a[j]>k的时候,j--,指标...原创 2018-10-10 11:16:15 · 182 阅读 · 0 评论 -
4.3 输出前m大的数 时间复杂度O(n+mlog(m))
#include<iostream>using namespace std;void swapM(int &a, int &b){ int tmp = a; a = b; b = tmp;}int t = 0;int n = 9;int a[] = {1,4,7,2,5,8,3,6,9};//用治处理 ...原创 2018-10-10 15:46:14 · 473 阅读 · 0 评论 -
4.4 求排列的逆序数
7622:求排列的逆序数描述在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她)对各种不同信息的兴趣,从而实现个性化的服务。对于不同的排名结果可以用逆序来评价它们之间的差异。考虑1,2,…,n的排列i1,i2,…,in,如果其中存在j,k,满足 j < k 且 ij > ik, 那么就称(ij,ik)是这个排列的一个逆序。...原创 2018-10-10 17:30:57 · 472 阅读 · 0 评论 -
(趣学算法)分治算法:大整数乘法
#include<stdlib.h>#include<cstring>#include<iostream>using namespace std;#define M 100char sa[1000];char sb[1000];typedef struct _Node{ int s[M]; int l;//代表字符串长度 ...原创 2018-11-08 19:59:09 · 790 阅读 · 0 评论