有一个算法问题,求大佬们给个思路 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
DIO
V2EX    程序员

有一个算法问题,求大佬们给个思路

  •  
  •   DIO 2022 年 11 月 15 日 2160 次点击
    这是一个创建于 1152 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有描述不清楚的地方还请大佬们积极提出,我会积极回答。

    现有一个 5*5 矩阵 Mat
    [ a11 ,a12 , a13 , a14 , a15;
    a21 ,a22 , a23 , a24 , a25;
    a31 ,a32 , a33 , a34 , a35;
    a41 ,a42 , a43 , a44 , a45;
    a51 ,a52 , a53 , a54 , a55 ]

    求一个矩阵 matR ,将 mat 再排列。
    要求原矩阵 mat 中的相邻元素(横竖左右撇捺)在新生成 matR 中不相邻

    对每个元素 aij 设定积分 point(ij). aij 在新矩阵 matR 中距离原相邻元素距离之和为 point(ij)
    例如:aij 在原矩阵 Mat 的相邻元素{a(i-1)j,a(i-1)(j-1),......... } 在新矩阵 matR 中距离这些元素的直线距离单元格数为{1 ,1 ,1 ,1 ,1 ,1 ,1 ,1} 合计为 point(ij)=8

    要求在生成的 matR 中 Σpoint(ij) 最大化

    发在隔壁节点没反应,所以在这重发一次

    第 1 条附言    2022 年 11 月 16 日
    3L 概括得很好

    “意思是把 5x5 矩阵打散,原来相邻的元素不相邻(硬性),现在距离越远越好”




    这里我简单粗略做了一个 point 计算办法,还有不清楚的地方欢迎提出。欢迎大佬们提出想法,集思广益。

    这里是源文件地址: https://wwd.lanzout.com/i9oko0g10eda 密码:b52e

    9 条回复    2022-11-16 13:03:05 +08:00
    liplushe
        1
    liplushe  
       2022 年 11 月 15 日
    你这问题描述怎么稀里糊涂的
    qq007523
        2
    qq007523  
       2022 年 11 月 15 日
    没看懂...
    Tanix2
        3
    Tanix2  
       2022 年 11 月 15 日
    意思是把 5x5 矩阵打散,原来相邻的元素现在距离越远越好,你这个距离我没看明白,能否再解释以下
    iOCZ
        4
    iOCZ  
       2022 年 11 月 15 日
    真是费解,应该搞一些符号
    DIO
        5
    DIO  
    OP
       2022 年 11 月 16 日 via Android
    @qq007523 是的,你理解的意思是对的。这个距离是我试图把这个意思量化的一个标准,不过似乎弄巧成拙了。明天画几个图再明确一下含义。比如说在新矩阵中,得出原相邻元素的坐标,计算他们横向和纵向坐标差的绝对值,两个维度求和。

    我目前咨询了一些人,有一些局部最优解的方案,比如假设有一个目标矩阵,它恰好是对称的,那么对角线应当还是 i==j.那么根据规则计算对角线的情况。然后再填充上三角,根据这个推出下三角。今天晚上验证了一下,明天再具体研究一下。
    Tanix2
       
    Tanix2  
       2022 年 11 月 16 日
    首先原来相邻的现在都不相邻的矩阵是存在的
    a44 a52 a34 a54 a42
    a25 a11 a13 a15 a21
    a23 a31 a33 a35 a43
    a45 a51 a53 a55 a41
    a24 a12 a32 a14 a22
    然后我就不会了
    whitepuppy
        7
    whitepuppy  
       2022 年 11 月 16 日
    感觉可以对行操作?把每行 2 ,4 位数调换下位置,这保证了横着的不相邻,然后 1 ,2 ,3 ,4 ,5 行变为 4 ,1 ,3 ,5 ,2 ,每一行都不和之前的相邻行相邻,保证了所有的竖着的和斜着的都不相邻。
    whitepuppy
        8
    whitepuppy  
       2022 年 11 月 16 日
    @whitepuppy 第一步有点问题,2 ,4 调换还是改成后面那种对应
    DIO
        9
    DIO  
    OP
       2022 年 11 月 16 日
    意思是通过把不相邻排列行列分别转化一次吗,这样好像确实可行。

    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2473 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 15:46 PVG 23:46 LAX 07:46 JFK 10:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86