社区讨论

90求调

P3370【模板】字符串哈希参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@miu58hkj
此快照首次捕获于
2025/12/06 18:21
2 个月前
此快照最后确认于
2025/12/08 21:45
2 个月前
查看原帖

初版代码

CPP
#include<bits/stdc++.h>
using namespace std;
int n;
priority_queue<long long> a;
string s;
long long check(string s){
    int sum;
    for(int i=0;i<s.length();i++){
        sum+=s[i];
        sum*=128;
    }
    return sum;
}
int main(){
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>s;
        a.push(check(s));
    }
    int ans=0;
    int _prev=-1;
    while(!a.empty()){
        if(a.top()!=_prev){
            ans++;
        }
        _prev=a.top();
        a.pop();
    }
    cout<<ans;
}
当然这玩意怎么可能90 想到ASCII前32个字符全部都是操作符 于是自作主张压缩了一下 给前32个掐掉

部分更改

CPP
for(int i=0;i<s.length();i++){
    sum+=s[i]-32;
    sum*=96;
}
然后就90了 再起不能问一下有没有dalao帮忙指出问题(题解感觉和我的没啥区别)

回复

1 条回复,欢迎继续交流。

正在加载回复...