递归实现 #include <stdio.h> #include <string> using namespace std; int partition(int s[],int l,int r); void quickSort(int s[],int l,int r); int main(){ in ...
分类:
编程语言 时间:
2020-03-18 13:20:22
阅读次数:
89
网络流 拆点/拆边技巧 题目来源 bzoj1070 题目描述 同一时刻有$N$位车主带着他们的爱车来到了汽车维修中心。维修中心共有$M$位技术人员,不同的技术人员对不同 的车进行维修所用的时间是不同的。现在需要安排这$M$位技术人员所维修的车及顺序,使得顾客平均等待的时间最小。 说明: 1.顾客的等 ...
分类:
其他好文 时间:
2020-03-18 09:55:22
阅读次数:
108
什么是凸包? 我的理解就是,图形任意两点的连线都没有在图形外部。 问题:给定点集,怎么求出凸包的边界点呢??? 第一步:给这些点按照X的从大到小进行排序,如果X相同的按照Y再排序。 第二步:把X最小的和最大的连起来,他们必为凸包的边界点。 第三步:把平面区域分为两个部分,分别在上面和下面去找面积最大 ...
分类:
其他好文 时间:
2020-03-17 23:46:59
阅读次数:
68
分治策略 1)将问题分解为规模较小的子问题,子问题与原问题同质 2)迭代或者递归解决每个子问题 3)将子问题的解综合得到原问题解 例子:二分查找Binary Search 1 BinarySearch(T,l,r,x) 2 //输入数组T,下标从l到r,查找数x 3 //输出j,若x在T中输出下标, ...
分类:
编程语言 时间:
2020-03-16 13:17:50
阅读次数:
61
1 //64个盘子 2 //划分成小问题:1.将上面的63个盘子从x借助z移动到y上 3 2.将第64个盘子从x移动到z上 4 3.将y上的63个盘子借助x移动到z上 5 详解:https://www.bilibili.com/video/av81085437 6 #include<stdio.h> ...
分类:
其他好文 时间:
2020-03-14 13:14:24
阅读次数:
67
1 //n的阶乘 2 #include<stdio.h> 3 4 int fun(int n); 5 int main(void) 6 { 7 int n; 8 scanf("%d",&n); 9 10 printf("%d",fun(n)); 11 return 0; 12 } 13 int fu ...
分类:
其他好文 时间:
2020-03-14 12:42:09
阅读次数:
51
1 //分治思想:将大问题拆成小问题逐一解决 2 //折半查找法:不断缩小一半查找的范围,知道达到目的,效率较高。 详情见:https://fishc.com.cn/thread-27964-1-1.html 3 4 //折半查找法(迭代) 5 #include<stdio.h> 6 7 int s ...
分类:
其他好文 时间:
2020-03-14 12:37:54
阅读次数:
36
1 做法:第一步随便放一个棋子,然后找安全位置放第二个棋子,然后放好后再找安全地放第三个x棋子,以此类推 2 详细解释:https://www.bilibili.com/video/av76265320?from=search&seid=10595269197283770223 3 #include ...
分类:
编程语言 时间:
2020-03-14 12:35:24
阅读次数:
64
1 //递归 2 #include<stdio.h> 3 4 int Fib(int i); 5 int main(void) 6 { 7 int i = 40; 8 9 for(int i=0; i<40; i++) 10 { 11 printf("%d ",Fib(i)); 12 } 13 re ...
分类:
其他好文 时间:
2020-03-14 12:31:01
阅读次数:
55
1. 简单介绍 1.1 设计思想 分而治之 就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题 ( 这些子问题互相独立且与原问题形式相同 )…… 直到最后子问题可以简单的直接求解, 原问题的解 即 子问题的解的合并 分治思路: 类似于数学归纳法,找到解决本问题的求解方 ...
分类:
编程语言 时间:
2020-03-13 22:14:53
阅读次数:
93