codeforces50b

来源:互联网 发布:淘宝发布食品宝贝 编辑:程序博客网 时间:2024/05/21 08:57
最开始用两层循环暴力,然后毫无疑问地超时了,后来想到以下的优化:我将每一次循环比较得到的结果存起来,如果后面有相通的字母,那么就不需要再进行循环而是可以直接用以前存起来的那个值,然后进一步优化就得到了现在的这个思路:记录每个字符出现的次数,它们的平方和就是所求解。
#include<iostream>using namespace std;int main(){long long data[1000];long long ans;long long i;string s;cin>>s;for(i=0;i<s.size();i++)data[int(s[i])]++;for(i=0;i<1000;i++)ans+=data[i]*data[i];cout<<ans<<endl;return 0;}

原创粉丝点击