数据量化

mathe 2002-02-20 08:54:59
给定一个m*n的实数阵,已知这个距阵每一行之和和每一列之和都是整数。
请设计一种算法,将每一个元素分别用它们的上取整或下取整(即ceil或floor)来代替,使得目的矩阵的每行每列的和保持不变。如果不存在这样的变化,需要输出这样的变化不存在。
...全文
46 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
intfree 2002-02-20
  • 打赏
  • 举报
回复
nm个未知数,n+m个方程,故需要用搜索,但可以先求出基准元。
也可以适当的调整搜索顺序,以加快速度。
intfree 2002-02-20
  • 打赏
  • 举报
回复
设原矩阵为A,令B(i,j)=A(i,j)-floor(A(i,j))
然后求出B每一行的和a[i]和每一列的和b[i]
于是原问题变为一个01规划问题,X(i,j)=0 or 1,
X每一行的和必须是a[i],且每一列和必须是b[i]
X(i,j)=0对应floor,X(i,j)=1对应ceil

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧