https://codeforces.com/contest/1669/problem/E
我的做法是容斥一下?
虽然我的队友是转成图论用入度做的(雾
input
4
6
ab
cb
db
aa
cc
ef
7
aa
bb
cc
ac
ca
bb
aa
4
kk
kk
ab
ab
5
jf
jf
jk
jk
jk
output
5
6
0
6
题意
给定 n n n 个长度为 2 2 2 仅有小写字母 a − k a-k a−k 的字符串,询问有多少对字符串满足其串上的两个位置,一个位置的字符相同,一个位置的字符不同
(可能看Note会更加理解)
思路
既然需要一个位置上的字符相同,那我从头向后遍历,查询该位置之后的字符串看对应位置上相等的字符串个数,比如:
观察样例 1 1 1,从位置 1 1 1 举例
- 对于左边:
发现只有一个 a a aa aa 的字符串与之配对,即贡献答案 1 1 1
- 对于右边
可以发现在这之后有两个 b b b 出现,可以贡献答案 2 2 </