wky_wsy @ 2024-11-21 22:23:44
this
目前可以提供一个有问题的code
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <cmath>
#define int long long
using namespace std;
int t[100000000];
int f[100000];
bool cmp(int x,int y){
return x>y;
}
signed main(){
int n=1,sb;
while(cin>>sb>>f[n]){
++n;
++t[f[n]];
}
--n;
sort(f+1,f+1+n,cmp);
for(int i=1;i<=n;i++){
cout<<f[i]<<' ';
}
cout<<'\n';
for(int i=0;i<=100000000;i++){
if(t[i]!=0) cout<<i<<' '<<t[i]<<endl;
}
return 0;
}
by Gcc_Gdb_7_8_1 @ 2024-11-21 22:24:30
@wky_wsy “您无权查看该题目”
by 11ofjay @ 2024-11-21 22:24:34
您无权查看该题目……
by wky_wsy @ 2024-11-21 22:25:40
https://www.luogu.com.cn/problem/T542626
by ZDZ1212 @ 2024-11-21 22:27:31
sort是nlogn很明显你的算法过不了数据到1e8了
by wky_wsy @ 2024-11-21 22:28:27
限时5s@ZDZ1212
by ZDZ1212 @ 2024-11-21 22:30:49
那直接排序哈希标记 最后统计就行了
by Joe2011 @ 2024-11-21 22:31:21
@wky_wsy 线性无解。
by Joe2011 @ 2024-11-21 22:31:52
@wky_wsy 但是要是hash确实就是另一回事了。。。
by rnf5114 @ 2024-11-21 22:33:39
@Joe2011WC我记得有道题是1e8个数做排序,然后是用神秘桶排好像
by Joe2011 @ 2024-11-21 22:35:04
@rnf5114 对,基数排序可以做到很小常数,但严格来说还是有log