- 博客(6)
- 收藏
- 关注
原创 棋盘覆盖
棋盘覆盖在一个2k*2k个方格组成的棋盘中,若恰有一个方格与其他方格不同,则称该方格为一个特殊方格,且称该棋盘为一个特殊棋盘。分治算法ChessBoardtr:棋盘左上角方格的行号tc:棋盘左上角方格的列号dr:特殊方格所在行号dc:特殊方格所在的列号size=2k,表示棋盘规格void ChessBoard(int tr, int tc, int dr, int dc, int size){ if(size == 1) return; int t=tile++,
2020-05-16 03:37:21 277
原创 Perm排列&&整数划分问题
Perm排列&&整数划分问题Perm全排列设R={r1,r2,…,rn}是要排列的n个元素,Ri=R-{ri}.集和X中的元素全排列记为Perm(X)。(ri)Perm(X)表示在全排列Perm(X)的每个排列前加上一个前缀ri得到的排列。 当n=1时,Perm(X)=®,其中r是集和R中唯一的元素 当n>1时,Perm(X)由(r1)Perm(R1),(r2)Perm(R2),…,(rn)Perm(Rn)构成关键代码:template <class Type
2020-05-13 10:55:22 273
原创 Ackerman函数
Ackerman函数双递归A(n,m)={A(1,0)=2A(0,m)=1,m≥0A(n,0)=n+2,n≥2A(n,m)=A(A(n−1,m),m−1),n,m≥1双递归A(n,m)=\begin{cases}A(1,0)=2\\ A(0,m)=1 ,m\geq0\\ A(n,0)=n+2 ,n\geq2\\ A(n,m)=A(A(n-1,m),m-1),n,m\geq1 \end{cases}双递归A(n,m)=⎩⎪⎪⎪⎨⎪⎪⎪⎧A(1,0)=2A(0,m)=1,m≥0A(n,0)=n+2,n≥
2020-05-11 10:46:08 410 1
原创 Fibonacci数列
Fibonacci数列该数列为:1,1,2,3,5,8,13,21,34…递归公式F(n)={1,n=01,n=1F(n−1)+F(n−2),n>1递归公式F(n)=\begin{cases}1 ,n=0\\ 1 ,n=1\\ F(n-1)+F(n-2) ,n>1\end{cases}递归公式F(n)=⎩⎪⎨⎪⎧1,n=01,n=1F(n−1)+F(n−2),n>1运行代码:# include <iostream>using namespace std;in
2020-05-11 09:58:13 148
原创 C++二分法查找不动点
二分法查找不动点# include <iostream>using namespace std;int F(int A[],int len){ int L,R; int i=(len-1)/2; L=0; R=len-1; while(L<R){ if(A[i]==i) return 1; else if(A[i]>i){ R=i-1;...
2020-03-23 21:53:58 174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人