比赛 |
NOIP模拟赛1 |
评测结果 |
AAAAAAAAAA |
题目名称 |
叉叉 |
最终得分 |
100 |
用户昵称 |
@@@ |
运行时间 |
0.022 s |
代码语言 |
C++ |
内存使用 |
1.08 MiB |
提交时间 |
2018-02-08 19:41:13 |
显示代码纯文本
#include <fstream>
#include <string>
using namespace std;
ifstream cin("xxxx.in");
ofstream cout("xxxx.out");
string s;
int f[30];
int l;
int a[200005],ans;
int lowbit(int x)
{
return x&-x;
}
void add(int x,int d)
{
for(;x <= l;x+=lowbit(x))
{
a[x]+=d;
}
}
int sum(int x)
{
int w = 0;
for(x;x>0;x-=lowbit(x))
w+=a[x];
return w;
}
int cyf()
{
cin >> s;
l = s.length();
for(int i = 1;i <= l;i++)
{
int x = s[i-1]-'a'+1;
if(f[x] == 0)
{
f[x] = i;
add(i,1);
}
else
{
ans += sum(i-1)-sum(f[x]);
add(f[x],-1);
f[x] = 0;
}
}
cout << ans << endl;
cin.close();
cout.close();
return 0;
}
int hhhh = cyf();
int main() {;}