您的位置:首页 > 其它

poj 1147 Binary codes bwt压缩算法

2015-11-05 09:52 246 查看
题意:

bwt压缩算法的解压过程。

分析:

利用前缀排序去掉相同前缀相对顺序不变的性质。bwt压缩算法

代码:

//poj 1147
//sep9
#include <iostream>
#include <algorithm>
using namespace std;
int n;
int last[3012],ans[3012];

int main()
{
int sum_zero=0;
scanf("%d",&n);
for(int i=0;i<n;++i){
scanf("%d",&last[i]);
sum_zero+=!last[i];
}
int pos=0;
for(int i=n-1;i>=0;--i){
ans[i]=last[pos];
int c=last[pos];
pos=(c==0?0:sum_zero)+count(last,last+pos,c);
}
for(int i=0;i<n;++i)
printf("%d ",ans[i]);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  poj 算法