分治
h1021456873
这个作者很懒,什么都没留下…
展开
-
归并排序
//将有二个有序数列a[first...mid]和a[mid...last]合并。void mergearray(int a[], int first, int mid, int last, int temp[]){ int i = first, j = mid + 1; int m = mid, n = last; int k = 0; while (i <= m && j原创 2015-08-25 15:58:29 · 563 阅读 · 0 评论 -
棋盘覆盖问题
/*Author: Tanky WooBlog: www.WuTianQi.com棋盘覆盖问题分治法2010-12-3*/#include using namespace std;const int N = 11;int Board[N][N];int tile = 0; /*tr:棋盘左上角方格的行号tc:棋盘左上角方格的列号dr:特殊方格所在的行号dc:特原创 2015-08-25 15:59:07 · 525 阅读 · 0 评论 -
循环赛日程表问题
#include#includevoid gametable(int k){ int a[100][100]; int n,temp,i,j,p,t; n=2;//k=0两个参赛选手日程可以直接求得 a[1][1]=1;a[1][2]=2; a[2][1]=2;a[2][2]=1; for(t=1;t<k;t++)//迭代处理,原创 2015-08-25 15:59:42 · 1021 阅读 · 0 评论 -
HDU 5233 Gunner II (二分)
问题描述很久很久以前,有一个叫Jack的枪手。他非常喜欢打猎。一天,他去了一个小树林。那儿有n只鸟,还有n棵树。第i只鸟站在第i棵树的顶端。这些树从左到右排成一条直线。每一棵树都有它的高度。Jack站在最左边那棵树的左边。当Jack在高度为H的地方向右发射一棵子弹时,站在高度为H的树上且离Jack最近的鸟儿就会落下来。Jack会射击多次,他想知道每次射击哪只鸟儿会落下来。输入描述原创 2015-08-28 15:27:55 · 650 阅读 · 1 评论 -
uva 1152 4 Values whose Sum is 0(二分_中途相遇|| hash)
#include#include#include#includeusing namespace std;const int maxn=1e5+100;struct node{ int index; int num; int book;} a[maxn];bool cmp(node x,node y){ if(x.num<y.num) return true; el原创 2015-08-28 16:40:48 · 459 阅读 · 0 评论 -
UVa 12627 Erratic Expansion 奇怪的气球膨胀 (分治_递归) 白书P245
Piotr found a magical box in heaven. Its magic power is that if you place any red balloon inside it then, after one hour, it will multiply to form 3 red and 1 blue colored balloons. Then in the next h原创 2015-09-04 17:41:56 · 598 阅读 · 1 评论 -
51nod 1019 逆序数 (归并|树状数组)
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列,求该序列的逆序数。Input第1行:N,N为序列的长度(n <= 50000)第2 - N + 1行:序列中的元素(0 Ou原创 2015-10-15 20:46:53 · 740 阅读 · 0 评论