捞,自己出的题自己不会做

题目总版

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


|