| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:优化逆序数计算后认为本题瓶颈不在逆序数上,另外请0MS的提供一下经验In Reply To:优化逆序数计算后认为本题瓶颈不在逆序数上,另外请0MS的提供一下经验 Posted by:hsmwzj at 2010-08-04 16:09:32 > 按照讨论上对逆序数计算做了优化后,执行时间仍然不变,用了16MS,故此题耗时主要在排序上,估计用时0MS的不是用O(n*n)的排序方法,而是O(nlgn)的。哪位耗时0MS的可以来贡献一下?
贴下我代码,有点水。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int n,m,flag[101],ans[101];
string s[101];
bool cmp(int x,int y)
{
return (flag[x] < flag[y]);
}
int main()
{
int i,j,k;
cin>>n>>m;
memset(flag,0,sizeof(flag));
for(i=0; i<m; i++)
ans[i] = i;
for(i=0; i<m; i++)
{
cin>>s[i];
for(j=0; j<n; j++)
{
for(k=j+1; k<n; k++)
{
if(s[i][k] < s[i][j])
flag[i]++;
}
}
}
stable_sort(ans,ans+m,cmp);
for(i=0; i<m; i++)
cout<<s[ans[i]]<<endl;
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator