比赛 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() {;}