画个方块诅咒你?

    技术2024-01-07  74

    数 学 画 图 软 件 数学画图软件

    前 缀 和 建 图 前缀和建图

    #include<bits/stdc++.h> #define re register #define f(i, a, b) for(re int i = a; i <= b; i++) using namespace std; int n, m, a[101][101], b[101][101], ans = 1, l = 2; signed main(){ scanf("%d%d", &n, &m); f(i, 1, n) f(j, 1, m){ scanf("%d", &a[i][j]); b[i][j] = b[i - 1][j] + b[i][j - 1] - b[i - 1][j - 1] + a[i][j];//求前缀和 } while(l < min(n, m)){ f(i, l, n) f(j, l, m) if(b[i][j] - b[i - l][j] - b[i][j - l] + b[i - l][j - l] == pow(l, 2))//求子矩阵和 ans = max(ans, l); l++; } printf("%d\n", ans); return 0; }

    d p 建 图 \mathrm{dp}建图 dp

    #include<bits/stdc++.h> #define re register #define f(i, a, b) for(re int i = a; i <= b; ++i) using namespace std; int n, m, a[101][101], f[101][101], ans; int main(){ scanf("%d%d", &n, &m); f(i, 1, n) f(j, 1, m){ scanf("%d", &a[i][j]); if(a[i][j] == 1) f[i][j] = min(f[i - 1][j - 1], min(f[i][j - 1], f[i - 1][j])) + 1; ans = max(ans, f[i][j]); } printf("%d\n", ans); return 0; }

    真 ⋅ 数 学 软 件 — — G e o G e b r a 真·数学软件——\mathrm{GeoGebra} GeoGebra

    Processed: 0.011, SQL: 9