各位大虾,算法求助!

海盗医生 2011-06-07 05:03:19
假设两个常量 X、Y有如下N个无序无规律数字:
X Y Y X Y X X Y Y Y X X Y X Y ...

如何把上边的数字记录为一个整型数字,并可逆,包括顺序
求高手帮助!
...全文
108 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
海盗医生 2011-06-08
  • 打赏
  • 举报
回复
各位大虾,真没有办法搞定吗? 有没有数学功力深厚的,帮忙解决一下
ryfdizuo 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 luciferisnotsatan 的回复:]

引用 7 楼 dizuo 的回复:

引用 6 楼 wangyutao0232000 的回复:

引用 3 楼 dizuo 的回复:
整形32位,0表示x,1表示y。
长度有限啊。


N是可以有上限的 例如N<1000

X可以表示为任意数字
Y可以表示为任意数字

只要达到100:1效果就行

假设N = 1000;
每个整数32位,管压缩XY无序序列需……
[/Quote]
关键是XY序列随机,压缩以后的32个int不一定可以压缩。
X Y这两个数字是肯定不能压的。。
luciferisnotsatan 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 dizuo 的回复:]

引用 6 楼 wangyutao0232000 的回复:

引用 3 楼 dizuo 的回复:
整形32位,0表示x,1表示y。
长度有限啊。


N是可以有上限的 例如N<1000

X可以表示为任意数字
Y可以表示为任意数字

只要达到100:1效果就行

假设N = 1000;
每个整数32位,管压缩XY无序序列需要1000/32 = 31.25,需要32……
[/Quote]
然后再找些高压的,把这个int数据压了。
海盗医生 2011-06-07
  • 打赏
  • 举报
回复
有点异想天开哦

求解!!!

一周在线等!!!
ryfdizuo 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wangyutao0232000 的回复:]

引用 3 楼 dizuo 的回复:
整形32位,0表示x,1表示y。
长度有限啊。


N是可以有上限的 例如N<1000

X可以表示为任意数字
Y可以表示为任意数字

只要达到100:1效果就行
[/Quote]
假设N = 1000;
每个整数32位,管压缩XY无序序列需要1000/32 = 31.25,需要32个int。
X、Y也要,一共34个int。
1000/34 明显小于100:1啊。。。
这只是我的理解。。。
海盗医生 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dizuo 的回复:]
整形32位,0表示x,1表示y。
长度有限啊。
[/Quote]

N是可以有上限的 例如N<1000

X可以表示为任意数字
Y可以表示为任意数字

只要达到100:1效果就行
海盗医生 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 luciferisnotsatan 的回复:]
参考些压缩算法看看
[/Quote]
搞不定的
海盗医生 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
先自己确定一下可行性,一个int,4个字节,你的数据是无限制的,能否变为一个可逆的int,值得推敲
[/Quote]

我也考虑过可行性,一个4个字节, 如何能存放下N个数字,而且需要记录位置
ryfdizuo 2011-06-07
  • 打赏
  • 举报
回复
整形32位,0表示x,1表示y。
长度有限啊。
luciferisnotsatan 2011-06-07
  • 打赏
  • 举报
回复
参考些压缩算法看看
bdmh 2011-06-07
  • 打赏
  • 举报
回复
先自己确定一下可行性,一个int,4个字节,你的数据是无限制的,能否变为一个可逆的int,值得推敲

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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