反转表算法(具体要求看内容)

Wilson咻咻咻 2009-07-31 09:49:32
加精
内容:
由1开始之连续数字a1.a2.a3...an相对有一反转表:b1.b2...bm。其bm代表意思为:数字m的位置前面有几个比大个个数。
2 3 6 4 0 2 2 1 0
第1个2为1前面有2个比它大的数
第2个3为2前面有3个比它大的数
第3个6为3前面有6个比它大的数....以此类推
所以答案为
5 9 1 8 2 6 4 7 3
数字1前面有2个比它大的数 5 9
数字2前面有3个比它大的数 5 9 8
输入说明:
输入的每一行含有一个由m个数所组成的数列(反转表) 1<=m<=50,
单独一个 -1 在一行代表测试资料的结束
输出说明:
请输出从 1 到 m 所代表的数列
范例输入:

2 3 6 4 0 2 2 1 0

-1
范例输出 :
5 9 1 8 2 6 4 7 3
...全文
1325 49 打赏 收藏 转发到动态 举报
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigc2000 2009-08-22
  • 打赏
  • 举报
回复
如果没有记错的话,这个是O(N)的算法,参见knuth 第三卷, 关于置换permutation的讨论
anger3314 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhanghua_1228 的回复:]
先做分折
这题应该反着来算
2 3 6 4 0 2 2 1 0 这个应该算是个位置信息
我们自己加上个反的序号
数字:1 2 3 4 5 6 7 8 9
位置:2 3 6 4 0 2 2 1 0
序号:8 7 6 5 4 3 2 1 0
这个序号的意义在与他列出如果数是从大到小即:9 8 7 6 5 4 3 2 1这样排之后
对应数字在他位置上在前面比他大的个数 所以 9 对 0(9最大前面没有比他小的), 1对8(同理)
我的算法:
反着来看
1,数字是9,序号是0,位置是0, 9是最大的比他大个数的当然是0 {9}
2,数字是8,序号是1,位置是1  序号 = 位置 把数插在最后  {9,8}
3,数字是7,序号是2,位置是2  序号 = 位置 把数插在最后  {9,8,7}
4,数字是6,序号是3,位置是2  序号 > 位置 把数插在第2个后面 {9,8,6,7}
5,数字是5,序号是4,位置是0  序号 > 位置 把数插在第0个后面(第一个){5,9,8,6,7}
6,数字4 同上  {5,9,8,6,4,7}
7,数字3  {5,9,8,6,4,7,3}
8,数字2  {5,9,8,2,6,4,7,3}
9,数字1  {5,9,1,8,2,6,4,7,3}

结束
[/Quote]
怎么想出来的呢....
Dolphin_001 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 43 楼 jiayou123456 的回复:]
我有点看不懂啊!!!晕倒了
[/Quote]偶也看不懂,算了,飘过
lxj1234567 2009-08-10
  • 打赏
  • 举报
回复
学习
bfhtian 2009-08-10
  • 打赏
  • 举报
回复
学习
L0320 2009-08-10
  • 打赏
  • 举报
回复
值得学习借鉴
qzl123666 2009-08-10
  • 打赏
  • 举报
回复
superdullwolf 强
1路阳刚 2009-08-10
  • 打赏
  • 举报
回复
厉害厉害
uestcshe 2009-08-10
  • 打赏
  • 举报
回复
学习一下,太有想法了
jiayou123456 2009-08-10
  • 打赏
  • 举报
回复
我有点看不懂啊!!!晕倒了
winingsky 2009-08-10
  • 打赏
  • 举报
回复
不懂,关注!!
LeonTown 2009-08-10
  • 打赏
  • 举报
回复
不知所云。。。
bianlige 2009-08-10
  • 打赏
  • 举报
回复
把我给看晕了
tfl219 2009-08-09
  • 打赏
  • 举报
回复
bhk
nbaabc373760794 2009-08-09
  • 打赏
  • 举报
回复
顶顶顶
晨钟暮鼓 2009-08-09
  • 打赏
  • 举报
回复
up 进来看看
javabizliuwei 2009-08-08
  • 打赏
  • 举报
回复
这人没有看过。。好好的看看。
devymex 2009-08-08
  • 打赏
  • 举报
回复
复杂度算错了,平均复杂度应该是O(2n)
wydhao123 2009-08-08
  • 打赏
  • 举报
回复
顶下
xuou23 2009-08-08
  • 打赏
  • 举报
回复
哎呦我的天呐,真看不懂啊,好好学习一下得
加载更多回复(22)

2,408

社区成员

发帖
与我相关
我的任务
社区描述
高性能计算
社区管理员
  • 高性能计算社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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