首页 > 其他分享 >动态规划 全1子矩阵

动态规划 全1子矩阵

时间:2023-01-05 22:33:08浏览次数:65  
标签:include minn min int 矩阵 1005 动态 规划 dp

题面

 

数组含义:dp[i][j]位于(i,j)的元素向左延长的长度
状态转移:minn= min(dp[k][j],minn) 向上遍历,加入满足最小长度的矩形

代码:

 

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <vector>
#include <map>
#include <cmath>
#include <queue>
using namespace std;
int mapp[1005][1005];
int n,m;
/*数组含义:dp[i][j]位于(i,j)的元素向左延长的长度
状态转移:min= Math.min(dp[k][j],min) 向上遍历,加入满足最小长度的矩形*/
int numSubmat(int mat[][1005]) {
        int res=0;
        int dp[1005][1005];
        for(int i=0;i<n;i++)
            for(int j=1;j<=m;j++)
                dp[i][j]=mat[i][j-1]==1?dp[i][j-1]+1:0;
        for(int i=0;i<n;i++)
            for(int j=1;j<=m;j++)
            {
                int minn=1<<20;
                for (int k=i;k>=0;k--)
                    if(dp[k][j]==0) break;
                    else
                    {
                       minn= min(dp[k][j],minn);
                        res+=minn;
                    }
            }
                
                        return res;
    }
int main(){
    cin >> n >> m;
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cin >> mapp[i][j];
        }
    }
    int ans=numSubmat(mapp)%100007;
    cout << ans;
    return 0;
}

 

标签:include,minn,min,int,矩阵,1005,动态,规划,dp
From: https://www.cnblogs.com/anaxiansen/p/17029030.html

相关文章

  • python 动态导入文件的方法
    简介在实际项目中,我们可能需要在执行代码的过程中动态导入包并执行包中的相应内容,通常情况下,我们可能会将所需导入的包及对象以字符串的形式传入,例如test.test.run,下面将......
  • makefile生成静/动态库
    通过makefile生成静态库和动态库目录树➜app_hellotree-h.├──[280]app_hello.c├──[218]app_hello.h└──[997]makefile0directories,3f......
  • 易基因|DNA甲基化揭示肌痛性脑脊髓炎/慢性疲劳综合征在复发和恢复周期中的动态表观变化
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。2022年10月06日,《IntJMolSci》杂志发表题为“DynamicEpigeneticChangesduringaRelapseandRecover......
  • 深度学习随笔[tensorflow] 多维矩阵的乘法
    ​​最新openCV-Python安装教程(python:3.9||opencv-python:4.5.5)_Mr.zzc的博客​​pycharm导入opencv后无智能提示-知乎​​ 版本问题,选择3.4.14.51可以,选择3.4.18.65不行......
  • UGUI动态生成列表功能实现(增删保存)
    在UGUI里不免会有一些列表需要生成和显示。例如最简单的增、删、改、查等都需要列表的变化。本文只讲增、删、保存、清空UGUI配合的变化方法。下面以实现场景里角色的实时......
  • QML动态创建组件
    ​​QML中如何动态创建组件_billy的博客​​qml动态创建模型及代理中的代理_蓝博皙的博客-​​QMLListView拖拽移动,代理和模型-Cpper-C++博客​​​​20.QuickQML-F......
  • Unity3D中Resources动态加载NGUI图片
    在NGUI中有些图片我需要动态进行变更或者加载,怎么办?首先在项目中创建一个Resources目录,接着把需要的图片放在这里面,可以有子文件夹么?当然可以,文件结构很重要哦~NGUI加载图片......
  • 简单动态规划:最长上升子序列
    什么是最长上升子序列?最长上升子序列是指,从原序列中按顺序取出一些数字排在一起,这些数字是逐渐增大的,这样的序列的最长长度。引自kkksc03校长的题面【狗头保命】看懂......
  • 静态链接库与动态链接库
    ​​静态链接库​​​​动态链接库​​​​浅谈Windows平台下C++调用静态链接库的方式​​​​lib文件​​​​Windows动态链接库DLL使用​​​​WindowsAPI编程之动态链......
  • 动态规划 - 股票
    动态规划的本质是从子状态推出当前状态,且无后效性;需要我们合理地定义状态。对于股票的最大利润,决定性的状态因素有三个:第i天结束时,最多能进行k次交易,当前是否持有股......