Acwing 3487. 最小面积子矩阵 && 3505. 最长ZigZag子序列

3487. 最小面积子矩阵 - AcWing题库

思路:二维矩阵前缀和,暴力枚举最小值

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

const int M = 110;
int g[M][M];

int main() {
    int n, m, k;
    cin >> n >> m >> k;
    for (int i = 1; i <= n; i ++) {
        for (int j = 1; j <= m; j ++) {
            cin >> g[i][j];
            g[i][j] += g[i - 1][j] + g[i][j - 1] - g[i - 1][j - 1];
        }
    }
    
    int res = INT_MAX;
    
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= m; j++) {
            for(int x = i; x <= n; x++){
                for(int y = j; y <= m; y++) {
                    int sum = g[x][y] - g[i - 1][y] - g[x][j - 1] + g[i - 1][j - 1];
                    if(sum >= k) {
                        res = min(res, (x - i + 1) * (y - j + 1));
                    }
                }
            }
        }
    }
    if(res == INT_MAX) {
        cout << -1 << endl;
    }else {
        cout << res << endl;
    }
    return 0;
}

3505. 最长ZigZag子序列 - AcWing题库

cpp 复制代码
#include <iostream>
using namespace std;

const int N = 60;
int nums[N];
int dp[N][2];

int main() {
    int n = 0;
    cin >> n;
    for(int i = 1; i <= n; i++) {
        cin >> nums[i];
    }

    for(int i = 1;i <= n; i++){
        dp[i][0] = 1;
        dp[i][1] = 1;
        for(int j = 1;j < i; j++){
            if(nums[i] > nums[j])   dp[i][1] = max(dp[i][1], dp[j][0]+1);
            if(nums[i] < nums[j])   dp[i][0] = max(dp[i][0], dp[j][1]+1);
        }
    }
    cout << max(dp[n][0], dp[n][1]) << endl;
    return 0;
}
相关推荐
小龙报7 分钟前
《算法通关指南C++编程篇 --- 初阶函数递归专题》
c语言·开发语言·c++·算法·创业创新·学习方法·visual studio
2501_9412366227 分钟前
分布式日志系统实现
开发语言·c++·算法
星轨初途29 分钟前
《数据结构二叉树之堆 —— 优先队列与排序的高效实现(2)(下)》
c语言·开发语言·数据结构·经验分享·笔记·性能优化
2501_9412355129 分钟前
C++与机器学习框架
开发语言·c++·算法
CoovallyAIHub31 分钟前
基于SimCLR的自监督 YOLO:YOLOv5/8也能在低标注场景目标检测性能飙升
深度学习·算法·计算机视觉
2501_941111861 小时前
C++模块化设计原则
开发语言·c++·算法
2501_941237531 小时前
基于C++的游戏引擎开发
开发语言·c++·算法
_OP_CHEN1 小时前
算法基础篇:(十)贪心算法拓展之哈夫曼编码:从 “合并最优” 到数据压缩的传奇
c++·算法·贪心算法·蓝桥杯·哈夫曼编码·算法竞赛·acm/icpc
枫叶丹41 小时前
【Qt开发】Qt窗口(二) -> QToolBar工具栏
开发语言·数据库·c++·qt
l1t1 小时前
利用DuckDB列表一句SQL输出乘法口诀表
数据库·sql·算法·duckdb