51Nod1084 矩阵取数问题 V2

51nod 1084 矩阵取数问题 V2 dp 1084 矩阵取数问题 V2 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下,再从右下走到左上。第1遍时只能向下和向右走,第2遍时只能向上和向左走。两次如果经过同一个格子,则该格子的奖励只计算一次,求能够获得的最大价值。   例如:3 * 3的方格 阅读详情

题目看这里

一个经典的dp题,典型的错误思想就是做两遍

我们考虑直接做,f[i][j][x][y]表示第一次取道i,j这个位置,第二次到了x,y这个位置

考虑这个i,j和x,y分别是从哪里转移过来,就可以得到方程

f[i][j][x][y]=max(f[i-1][j][x-1][y],f[i][j-1][x-1][y],f[i-1][j][x][y-1],f[i][j-1][x][y-1])+v[x][y]+v[i][j]

这个方程显然有x+y=i+j那么考虑去掉j,y这一维

令f[k][i][j]表示走了k步,分别走到第i行,第j行的答案,转移可以写成

f[k][i][j]=max(f[k-1][i][j],f[k-1][i-1][j-1],f[k-1][i-1][j],f[k-1][i][j-1])+s[i][k-i]+s[j][k-j]

注意如果i=j那么最后那个s[j][k-j]不要加,滚动一下就可以过了

当然这题也有网络流做法,非常的类似:

在左上面建一个源点,与(1,1)点连上,容量为2,费用为0。在右下建一个汇点,与(n,m)连上,容量为2,费用为0.
然后在中间的每个点(i,j),拆成两个点,建立两条边,一条是容量为1,费用为A[i][j]。另一条容量也是1,费用为0。再把左边和上边的点都连上。跑一次费用流就可以了

#pragma GCC opitmize("O3")
#pragma G++ opitmize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int n,m,f[210][210],s[210][210];
int main(){
    scanf("%d%d",&m,&n);
    for(int i=1;i<=n;++i)
        for(int j=1;j<=m;++j) scanf("%d",s[i]+j);
    for(int k=2;k<=m+n;++k) for(int i=n;i;--i) for(int j=n;j;--j)
        f[i][j]=max(max(f[i][j],f[i-1][j-1]),max(f[i-1][j],f[i][j-1]))+s[i][k-i]+(i!=j?s[j][k-j]:0);
    printf("%d\n",f[n][n]);
}

STM32 使用rtthread的DMA 串口发送失败 在一次使用RTthread的DMA 串口发送时,持续性通过DMA 发送串口数据时,偶发发送过程中后续数据包无法正常发送出去,后经查,发现为RT-Thread的串口中断处理有瑕疵,后做出修改。另,为了更方便的排查为题,建议修改。左为修改前,右为修改后。 阅读详情

相关推荐

ANSYS Maxwell:创建即用型 3D 轴向磁通电机模型

Magnet Length” 是磁体的径向长度。“Magnet Thickness” 是磁体的轴向长度。为了对 AFM 进行更详细的分析,用户需要在 ANSYS Maxwell 中运行 3D FEA 分析。对于 2D 模型,它们类似于 MotorCAD 中的模型,后者对等效的直线电机进行建模。单击“确定”后,将创建一个 3D Maxwell 模型。“长度”是转子铁的轴向长度。然后需要定义定子的“磁芯”尺寸和材料。“长度”是定子铁芯的轴向长度。“转子”# 的极数必须与“定子”中定义的磁极相同。

jkh920184196的博客 1153

二分图(Bipartite Graph)

二分图の定义二分图又叫二部图,是图论中的一种特殊模型。假设S=(V,E)是一个无向图。如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),就可以称图S为一个二分图。简单来说,就是顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属于这两个互不相交的子集,两个子集内的顶点不相邻。二分图の匹配。

Hacket_Xu的博客 1万+

别再到处找模型了!手把手教你用Xinference+Docker部署本地私有大模型(Llama2/Qwen实战)

本文详细介绍了如何使用Xinference和Docker部署本地私有化大模型(如Llama2/Qwen),涵盖硬件配置、模型管理、Docker部署及性能优化等关键步骤。通过实战案例,帮助开发者快速构建企业级AI推理服务,确保数据安全与高效运行。

weixin_28683065的博客 232

二分图(概念、相关算法和题目应用)(全面整理)

二分图概念;二分图涉及算法;二分图题目应用 全套全面整理,代码全注释,除了多以外没有缺点(

酒姬民的博客 2万+

实证研究之|stata清洗charls数据

stata

qq_45313933的博客 6759

STM32H723串口接收全为0 & CAN错误中断问题

STM32H723串口接收全为0 和 叠加的导致CAN错误问题

weixin_38743772的博客 3916

数据结构:二分图以及判定二分图

是一种特殊的图,它的顶点集合可以划分为两个不相交的子集,使得每条边都连接这两个子集中的一个顶点和另一个顶点。换句话说,二分图中的所有边都只能在两个不同的子集之间。染色法判定二分图虽然听起来很难,但实际上是一个很简单的算法,读完此文章,相信大家都很容易掌握。

m0_63997099的博客 5046

银河麒麟系统V10 sp1,安装wine 9.0

银河麒麟系统V10 sp1 x86_64,安装wine 9.0

daqinzl的专栏 1万+

二分图

二分图 1. 二分图原理 原理 二分图定义 二分图又称为二部图,如果一个点集可以被分成两个部分,所有的边都在这两个部分之间,而每个集合内部没有边,则称这个图是一个二分图。如下图: 显然(哈哈),如果一个图是二分图,则其去掉一些边之后还是二分图。 下面证明一个重要的定理:一个图是二分图  ⟺  \iff⟺图中不存在奇数环  ⟺  \iff⟺染色过程中不存在矛盾 首先证明:图中不存在奇数环  ⟺  \iff⟺染色过程中不存在矛盾 首先证明充分性:图中不存在奇数环⇒\Rightarrow⇒染

weixin_42638946的博客 3354

C#实现跨域访问共享文件夹的账号密码验证方案

本文详细介绍了在C#中实现跨域访问共享文件夹的账号密码验证方案。通过调用Windows API LogonUser函数,结合LOGON32_LOGON_NEW_CREDENTIALS登录类型,可安全模拟指定用户身份,有效解决工作组与域环境间的文件共享访问难题。文章提供了完整的工具类封装、多种实战场景示例及详细的错误排查指南。

pea55的博客 538

Z-Image Turbo随机性增强插件的下载教程及使用方法 z-image生成图像太相似怎么办 Z-Image Turbo 整合包下载

Z-Image Turbo 是出了名的“seed 不敏感”,非常难做多样化图像创作。ComfyUi-ConditioningNoiseInjection 插件通过在conditioning(提示词编码)阶段加入可控噪声,成功解决了 Turbo 随机性不足的问题。它不仅能让 Turbo 产生更丰富的构图差异,还能保持主题稳定,是目前我测试过最有效的 Turbo 随机性增强工具。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1975

二部图(二分图)总结

1 二部图 二部图又叫二分图,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划分为两个不相交子集,使得...

哆啦A瑶的博客 11万+

VxWorks系列 快速导航

Vxworks系列快速阅览导航

Mr.Sugarcane 1308

[51nod1084]矩阵取数问题 V2

题目链接: 51nod1084 题目相当于从上向下走两次,首先可以想到一个Naive的DP: 设\(f[a][b][c][d]\)表示一个人当前在\((a,b)\),另一个在\((c,d)\)时取的最大值。 有一个显然的优化是只用保留\(a+b=c+d\)的状态(两人同时出发,速度相同)就可以求出答案。 那么有转移方程\(f[a][b][c][d]=Max(f[a-1][b][c-1][d],f[...

weixin_30248399的博客 97

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

51nod 1084 矩阵取数问题 V2

51nod 1084 矩阵取数问题 V2递归式: if x1 != x2 | dp[step + 1][x1][x2] = max{dp[step][x1’][x2’]} + a[x1][y1] + a[x2][y2] if x1 == x2 | dp[step + 1][x1][x2] = max{dp[step][x1’][x2’]} + a[x1][y1]。 使用step减少空间使用

学无纸巾 319

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

51Nod - 1084 矩阵取数问题 V2

一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下,再从右下走到左上。第1遍时只能向下和向右走,第2遍时只能向上和向左走。两次如果经过同一个格子,则该格子的奖励只计算一次,求能够获得的最大价值。   例如:3 * 3的方格。   1 3 3 2 1 3 2 2 1   能够获得的最大价值为:17。1 -&gt; 3 -&gt; 3 -&gt; ...

hpu风之旅 251

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

51Nod 1084矩阵取数问题v2

描述 \quad一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从坐上走到右下,再从右下走到左上。第1遍时只能向下和向右走,第二遍时只能向上和向左走。两次如果经过同一个格子,则该格子的奖励只计算一次,求能够获得的最大价值。 题解 代码 错误做法:做两遍一次dp 错误原因分析 走一个来回,也就是两个人源点相同,目的地亦相同。每个人均只能向下或者向右走。 暴力枚举 dp...

MD 293

51nod 1084:矩阵取数问题 V2

1084 矩阵取数问题 V2 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下,再从右下走到左上。第1遍时只能向下和向右走,第2遍时只能向上和向左走。两次如果经过同一个格子,则该格子的奖励只计算一次,求能够获得

1372

51nod1084 矩阵取数问题 V2

$n \leq 200,m \leq 200$,$n*m$的矩阵,从左上到右下走一次只能向右向下,从右下到左上走一次只能向左向上,把两条路取并集,覆盖的数字加起来(经过两次的数算一次),问最大值多少。 费用流。或dp。dp的四维里面,有三维可以定剩下一维(步数一定),因此去掉一维即可。 1 //#include<iostream> 2 #include&lt...

a2850363633的博客 159

51nod 1084 矩阵取数问题 V2(dp)

1084 矩阵取数问题 V2基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下,再从右下走到左上。第1遍时只能向下和向右走,第2遍时只能向上和向左走。两次如果经过同一个格子,则该格子的奖励只计算一次,求能够获得的最大价值。例如:3 * 3的方格。1 3 3 2 1

Miracle_ma的专栏 1119

51nod-1084 矩阵取数问题 V2

原题链接 1084 矩阵取数问题 V2 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下,再从右下走到左上。第1遍时只能向下和向右走,第2遍时只能向上和向左走。两次如果经过同一个格子,则该格子的奖

L. 281

1084 矩阵取数问题 V2(51nod)

问题描述: 一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下,再从右下走到左上。第1遍时只能向下和向右走,第2遍时只能向上和向左走。两次如果经过同一个格子,则该格子的奖励只计算一次,求能够获得的最大价值。 例如:3 * 3的方格。 1 3 3 2 1 3 2 2 1 能够获得的最大价值为:17。1 -> 3 -> 3 -> 3 -> 1 -> 2 -> 2 -> 2 -> 1。其中起点和终点的奖励只计算1次。 输入 第1行

TooooRres的博客 174

矩阵取数问题 V2 51nod-1084

这道题要求正着走一遍,倒着走一遍,收益最高,并且一个位置只能收一回。 那么,很容易想清楚,矩阵中除去临界位置,我们都可以有多种路径到达,所以想要收益最高,每一个位置只能到达一次,那么不妨想成正着来两遍,可是我们却不能分为两次dp,因为如果第一遍最优,那么第二遍也找最优,加起来可能就不是最优了,所以我们需要同步处理,也就是多路dp,相当于两个人同时从起点出发,并且保证两个人路径不重叠,那么我们可以...

qq_41382647的博客 350
上一篇: 51Nod1294 修改数组
下一篇: 51Nod1120 机器人走方格 V3
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值