2017-03-11から1日間の記事一覧

分割統治法

C++

分割統治法を用いて最大値を求める. #include <bits/stdc++.h> using namespace std; int findMaximum(int A[],int left,int right) { int u,v,m,x,l=left,r=right; m = (l+r)/2; if(l==r-1){ return A[l]; }else{ u = findMaximum(A,l,m); v = findMaximum(A,m,r); x = max</bits/stdc++.h>…

lower_bound()

C++

lower_bound()について int A[14] = {1,1,2,2,2,4,5,5,6,8,8,8,10,15}; int *pos; int idx; pos = lower_bound(A,A+14,3);//3以上の値の先頭のものを指す idx = distance(A,pos);//Aは0番目, posは5番目を指しているので5 ちなみに要素の最大値よりも大きい…

二分探索

#include <bits/stdc++.h> using namespace std; #define NOT_FOUND -1 int binary_search(int A[],int n,int key) { int left = 0; int right =n; while(left</bits/stdc++.h>