#include
using
namespace std;
const
int n =
1000010
;int q[n]
;void
quick_sort
(int q,
int l,
int r)
quick_sort
(q, l, j)
;quick_sort
(q, j +
1, r);}
intmain()
#include
using
namespace std;
typedef
long
long ll;
const
int n=
1e6+9;
int n;
int a[n]
,tmp[n]
;void
mergesort
(int q,
int l,
int r)
intmain()
#include
using
namespace std;
typedef
long
long ll;
const
int n=
1e6+9;
int n;
int a[n]
,tmp[n]
;ll mergesort
(int q,
int l,
int r)
while
(i<=mid) tmp[k++
]=q[i++];
while
(j<=r) tmp[k++
]=q[j++];
for(
int i=l,j=
0;i<=r;i++
,j++
) q[i]
=tmp[j]
;return res;
}int
main()
用來查詢某個整數是否在序列中存在,時間複雜度o(n
2n^2
n2logn)
#include
using
namespace std;
const
int n=
1000010
;int n,t,k;
int q[n]
;int
main()
if(q[l]
!=k)
printf
("-1 -1\n");
//q[l]=q[r]
else
cout
}
分巧克力
#include
using
namespace std;
typedef
long
long ll;
const
int n=
100010
;int n,k;
int h[n]
,w[n]
;int
check
(int mid)
intmain()
printf
("%d\n"
,r);
return0;
}
機械人跳躍問題
#include
#include
#include
#include
using
namespace std;
const
int n=
100010
;int n,h[n]
;bool
check
(int e)
return
true;}
intmain()
printf
("%d\n"
,r);
return0;
}
1221.四平方和
純暴力列舉三次的o(n
3n^3
n3)**會被卡掉,雜湊演算法在本題中是最壞情況,演算法本身o(n
2n^2
n2),因此也會超時
#include
#include
#include
#include
using
namespace std;
const
int n =
2500010
;struct sum
}sum[n]
;int n, m;
intmain()
;sort
(sum, sum + m)
;for
(int a =
0; a * a <= n; a ++
)for
(int b =
0; a * a + b * b <= n; b ++)if
(sum[l]
.s == t)
}return0;
}
#include
using
namespace std;
intmain()
printf
("%lf\n"
,l);
return0;
}
割繩子:繩子的根數一定定義成整數!
#include
using
namespace std;
const
int n=
100010
;double a[n]
;int n,m;
bool
check
(double mid)
intmain()
printf
("%.2f\n"
,r);
return0;
}
二分查詢,ruby快排,歸併,ruby實現
都是採用遞迴方法,針對有序陣列。以下 前者針對含有重複的有序陣列,如 1,1,1,1,2,2,3,3,3,4,5,5,5,6 查詢最後乙個值等於要查詢的值。後者是普通的二分查詢 二分查詢 查詢最後乙個值等於給定值的元素 返回結果是陣列的下標,不能直接返回值,因為重複值無法體現是否真正返回最後乙個。d...
scala實現快排,歸併,冒泡,二分查詢
快速排序使用分治的思想,選定乙個基準點,通過一趟排序將待排序的序列分為左右兩個部分,其中左邊的部分都比基準點要小,右邊的基準點都比基準點要大,之後在分別對左右兩邊的部分,按照相同的思想繼續切分,最終達到乙個有序佇列的目的 時間複雜度 o nlog n 空間複雜度 o log n def quicks...
快排和二分查詢
我只是課本的搬運工,做做筆記,當練打字也可以。這裡我把qsort放前面講是因為bsearch在使用之前需要對陣列進行排序,排完後才能進行查詢。老師說學了快排之後就不要用氣泡排序法和選擇排序法了,然而我選擇排序還不太會,找個時間整理整理吧。快速排序 qsort函式 標頭檔案 或 功能 對具有num個元...