传纸条

小渊和小轩需要通过同学们的帮助,在素质拓展活动中传递纸条并寻找最优路径。这是一个涉及寻找两条不重叠的路径的问题,每条路径上的同学都有不同的好心程度,目标是使总的好心程度之和最大化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description

小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n)。从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小渊的纸条只可以向上或者向左传递。

在活动进行中,小渊希望给小轩传递一张纸条,同时希望小轩给他回复。班里每个同学都可以帮他们传递,但只会帮他们一次,也就是说如果此人在小渊递给小轩纸条的时候帮忙,那么在小轩递给小渊的时候就不会再帮忙。反之亦然。

还有一件事情需要注意,全班每个同学愿意帮忙的好感度有高有低(注意:小渊和小轩的好心程度没有定义,输入时用0表示),可以用一个0-100的自然数来表示,数越大表示越好心。小渊和小轩希望尽可能找好心程度高的同学来帮忙传纸条,即找到来回两条传递路径,使得这两条路径上同学的好心程度只和最大。现在,请你帮助小渊和小轩找到这样的两条路径。

Analysis

如果只有一条传递路径,那么就是带权过河卒问题。可是有两条不重叠的路径,如果先找最短再找不重叠的肯定不行,只能两条路径一起扩展,为了防止重叠,需要确保转移的过程中绝对不会出现两条路径坐标相同的情况。既然如此,开4维记录两条路径当前坐标,因为同时扩展,所以步数相同,那么可以省去一维,一维记录横纵坐标和,两维分别记录两条路径横坐标,只要扩展时避过横坐标相等即可。转移方程很好写,共有四种转移方式。

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

Code

#include <bits/stdc++.h>

int n,m,s[101][101],dp[101][101][101];

int main(){
    freopen("message.in","r",stdin);
    freopen("message.ans","w",stdout);
    std::cin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)   
            std::cin>>s[i][j];
    for(int i=3;i<=m+n;i++)
        for(int j=1;j<=std::min(i-1,n);j++)
            for(int k=1;k<=std::min(i-1,n);k++){
                if(i<m+n&&j==k)continue;
                dp[i][j][k]=std::max(dp[i-1][j][k],dp[i-1][j-1][k-1]);
                if(j-1!=k)dp[i][j][k]=std::max(dp[i][j][k],dp[i-1][j-1][k]);
                if(k-1!=j)dp[i][j][k]=std::max(dp[i][j][k],dp[i-1][j][k-1]);
                dp[i][j][k]+=s[j][i-j]+s[k][i-k];
            }
    std::cout<<dp[m+n][n][n]<<std::endl;
    return 0;
}

转载于:https://www.cnblogs.com/qswx/p/9492524.html

内容概要:本文详细介绍了名为MoSca的系统,该系统旨在从单目随意拍摄的视频中重建和合成动态场景的新视角。MoSca通过4D Motion Scaffolds(运动支架)将视频数据转化为紧凑平滑编码的Motion Scaffold表示,并将场景几何和外观与变形场解耦,通过高斯融合进行优化。系统还解决了相机焦距和姿态的问题,无需额外的姿态估计工具。文章不仅提供了系统的理论背景,还给出了基于PyTorch的简化实现代码,涵盖MotionScaffold、GaussianFusion、MoScaSystem等核心组件。此外,文中深入探讨了ARAP变形模型、2D先验到3D的提升、动态高斯表示、相机参数估计等关键技术,并提出了完整的训练流程和性能优化技巧。 适用人群:具备一定计算机视觉和深度学习基础的研究人员和工程师,特别是对动态场景重建和新视角合成感兴趣的从业者。 使用场景及目标:①从单目视频中重建动态场景的新视角;②研究和实现基于4D Motion Scaffolds的动态场景表示方法;③探索如何利用预训练视觉模型的先验知识提升3D重建质量;④开发高效的动态场景渲染和优化算法。 其他说明:本文提供了详细的代码实现,包括简化版和深入扩展的技术细节。阅读者可以通过代码实践加深对MoSca系统的理解,并根据具体应用场景调整和扩展各个模块。此外,文中还强调了物理启发的正则化项和多模态先验融合的重要性,帮助实现更合理的变形和更高质量的渲染效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值