不太理解 `add` 与 `del` 里答案的变化
查看原帖
不太理解 `add` 与 `del` 里答案的变化
220824
yyz1005楼主2023/2/17 11:22

第一个题解是

inline void ins(register int x){
	ans+=cnt[a[x]];//why?
	cnt[a[x]]++;
	for(register int i=0;i<26;i++)
		ans+=cnt[a[x]^(1<<i)];//这里是循环了多出一个a,b,c...,z的过程
	return ;
}
inline void del(register int x){
	cnt[a[x]]--;
	ans-=cnt[a[x]];
	for(register int i=0;i<26;i++)
		ans-=cnt[a[x]^(1<<i)];
	return ;
}

而且在字符串所有的字符的是偶数个的情况没有计算啊?

2023/2/17 11:22
加载中...