~~~
int MaxSubMatrixOrder(int **a,int n){
int result[n][n] = {a[0][0]};
for(int i=1;i<n;i++){
result[0][i] = a[0][i];
result[i][0] = a[i][0];
}
int max = 0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(a[i][j]==1){
max = 1;
break;
}
}
}
if(max==0) return 0;
for(int i=1;i<n;i++){
for(int j=1;j<n;j++){
if(a[i][j]==0) result[i][j] = 0;
else{
if(result[i][j-1]==0||result[i-1][j]==0) {
result[i][j] = 1;
continue;
}
if(result[i][j-1]>=result[i-1][j]) result[i][j] = result[i-1][j];
else result[i][j] = result[i][j-1];
if(result[i-1][j-1]>0) result[i][j]++;
if(max<result[i][j]) max = result[i][j];
}
}
}
return max;
}
~~~
- 前言
- 插入排序
- 归并排序
- 快速排序
- 最长公共子序列
- 斐波那契数列-台阶问题
- 求n*n阶矩阵最大子矩阵阶数
- 01背包
- 整数序列合并问题
- 动态规划算法的一般解题思路
- 01背包-近似算法
- 树搜索策略
- 求数组中的逆序对
- 并行机器最短调度问题
- 随机算法
- 判断两多项式之积是否等于另一多项式
- 顶点覆盖问题
- Apriori算法 (Introduction to data mining)
- 聚类算法-DBSCAN-C++实现
- 聚类算法-K-means-C++实现
- 聚类算法-Hierarchical(MIN)-C++
- 爬山法、分支限界法求解哈密顿环问题
- Best-First求解八数码问题
- Naive Bayesian文本分类器