24小时热门版块排行榜    

查看: 2165  |  回复: 8

maotian7658

木虫 (正式写手)

[求助] 矩阵生成[1, 0, -1]:满足总和为定值,累加和在限定范围

例如,生成3行20列的矩阵,每个元素取值为-1,0或1,1和-1的个数限定,3行的和分别为4,6,5,矩阵元素累加和不能大于5,也不能小于-3。同时1和-1按一定顺序填充,如1按照[13 12  3  18 20  9  16 5 4 14 17 6 11 10 7 19  8 1  2 15] 从头到尾放置,-1按照相反的顺序,一旦出现冲突,当前位置被放弃,考虑下一位置。
如:第一行,1和-1 的个数分别设定为9 和5,序列 [0 1 1 1 1 1 1 1 1 1 0 0 0 0 -1 -1 -1 -1 -1], 总和虽然等于4,但累加和(cumsum)为[0  1 2 3 4  5  6  7  8  9  9 9  9  9 8  7  6 5 4],不满足条件。
请问各位老师,如何能实现上述目的,能否给出具体代码。拜谢!

[ Last edited by maotian7658 on 2014-2-24 at 16:44 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maotian7658

木虫 (正式写手)

坐等大神解答!!!
2楼2014-02-24 16:45:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

【答案】应助回帖

可否解释一下这句话:
如1按照[13 12  3  18 20  9  16 5 4 14 17 6 11 10 7 19  8 1  2 15] 从头到尾放置,-1按照相反的顺序,一旦出现冲突,当前位置被放弃,考虑下一位置
3楼2014-02-24 17:01:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maotian7658

木虫 (正式写手)

引用回帖:
3楼: Originally posted by ju5200 at 2014-02-24 17:01:05
可否解释一下这句话:
如1按照 从头到尾放置,-1按照相反的顺序,一旦出现冲突,当前位置被放弃,考虑下一位置

谢谢围观,这句话的意思是存放1和-1的时候按照一定的优先级,也就是按照给出的这个序列。例子中矩阵每列含20个元素,共有20个位置,1是按照该序列从头到尾的次序存放,摆满9个位置为止,-1是从尾到头开始,也就是15,2,1,8...的顺序...遇到冲突(累加和不在范围内),放弃该位置,继续寻找下一个,只到摆满相应个数。
4楼2014-02-24 17:22:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

引用回帖:
4楼: Originally posted by maotian7658 at 2014-02-24 17:22:24
谢谢围观,这句话的意思是存放1和-1的时候按照一定的优先级,也就是按照给出的这个序列。例子中矩阵每列含20个元素,共有20个位置,1是按照该序列从头到尾的次序存放,摆满9个位置为止,-1是从尾到头开始,也就是1 ...

有个问题:根据题意 以第一行为例,一旦1的个数确定了 第一行的-1和0的个数也都确定了,那么现在任务时到底有多少个1 第二、三行任务也是确定1的个数
不妨设为三个未知数xyz,根据矩阵和的要求可以列出两个不等式,从而xyz实际上只有一个自由度 因而可以考虑穷举法
下面确定每一行1的位置就有问题了  因为你所给的顺序序列并不是必须遵守的顺序而是可以放弃的,那么1和-1谁的优先级高呢?还有,同样是1,前面的15和2的位置谁的优先级高呢?这些问题你都要先讲明白
5楼2014-02-24 21:17:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maotian7658

木虫 (正式写手)

引用回帖:
5楼: Originally posted by ju5200 at 2014-02-24 21:17:57
有个问题:根据题意 以第一行为例,一旦1的个数确定了 第一行的-1和0的个数也都确定了,那么现在任务时到底有多少个1 第二、三行任务也是确定1的个数
不妨设为三个未知数xyz,根据矩阵和的要求可以列出两个不等式 ...

1的个数是另外确定的,问题主要研究怎么去存放1和-1. 假设3行1的个数分别为9,10,8,-1的个数可以求出为:5,4,3. 优先级的问题:对于1,优先级别是从头到尾依次降低(13比12的高);对于-1,优先级别是从尾到头,优先级别依次降低(即:15比2的高)。
6楼2014-02-25 10:14:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

引用回帖:
6楼: Originally posted by maotian7658 at 2014-02-25 10:14:09
1的个数是另外确定的,问题主要研究怎么去存放1和-1. 假设3行1的个数分别为9,10,8,-1的个数可以求出为:5,4,3. 优先级的问题:对于1,优先级别是从头到尾依次降低(13比12的高);对于-1,优先级别是从尾到头,优先 ...

大概的解决方法应该是这样:无非一个判定条件 一个赋值语句A(n,m)=1 矩阵A是要求的矩阵 nm是对应位置的索引
只是具体实现起来可能要费一些时间
7楼2014-02-25 11:03:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maotian7658

木虫 (正式写手)

引用回帖:
7楼: Originally posted by ju5200 at 2014-02-25 11:03:31
大概的解决方法应该是这样:无非一个判定条件 一个赋值语句A(n,m)=1 矩阵A是要求的矩阵 nm是对应位置的索引
只是具体实现起来可能要费一些时间...

是的,就是要对对应的位置进行赋值,因为这个程序要嵌套进另一个程序,所有对它的效率要求比较高。可能有一些我不知道的函数或技巧,不知老兄有没有好的方法或建议?谢谢!
8楼2014-02-25 11:13:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maotian7658

木虫 (正式写手)

求高手指点!!
9楼2014-02-26 16:04:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 maotian7658 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 投票:  有多少人是今天查系统知道结果的? +16 爱看书的可乐 2026-08-26 18/900 2026-08-28 17:09 by winsaint
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +8 苏东坡二世 2026-08-23 8/400 2026-08-28 14:41 by lkforward
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +4 gdd2018 2026-08-28 9/450 2026-08-28 14:22 by jklily
[基金申请] 2026年叶企孙基金 +3 bud_bud 2026-08-27 6/300 2026-08-28 11:53 by bud_bud
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +12 晴天加油 2026-08-26 13/650 2026-08-28 11:32 by skyjudy
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +5 yuleib84 2026-08-26 6/300 2026-08-28 00:02 by yudaoqian88
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 怎么看青基中了没有啊 +5 叶九微 2026-08-26 5/250 2026-08-27 10:35 by l_zh2008
[文学芳草园] 梦想 +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
信息提示
请填处理意见