A Anton and Polyhedrons
————————————————————————————————————————————
傻逼题不解释
B Anton and Classes
————————————————————————————————————————————
傻逼题不解释
C Anton and Fairy Tale
————————————————————————————————————————————
就是给你仓库的容积N,最开始每天运来M,但仓库里至多有N,第
i
天被鸟吃
首先考虑 n<=m 的情况,最多撑n天,没有问题。
然后考虑其他情况,
开始几天,鸟吃的没有运来的多,所以相当于没有变化,
那么m天后,相当于每天减少1,2,3,4,······。
那么就是 (1+ans)*ans/2>=n-m
最后的结果就是ans+m
计算那个式子可以用不等式开根号,也可以二分,注意下二分的时候别溢出就行了。
D Anton and School - 2
————————————————————————————————————————————
给你一个字符串,问你字串中前半段为’(‘,后半段为’)’的子串有多少个,子串不要求必须连续。
很明显,我们可以枚举每一个’(‘,来计算以这个为前半段结尾的子串有多少个,
首先预处理出前缀’(‘的个数和后缀’)’的个数,
在遍历一遍母串,每当到’(‘的时候我们就计算以这个跟为前半段结尾的子串有多少个,
因为前半段的最后一个’(‘是固定的,所有我们要求
∑ni=1C(n−1,i−1)×C(m,i)
然后推导了半天还是不会,最后Q给了个公式
when(n≤m),∑ni=1C(n,i)∗C(m,i)=∑ni=1C(n,i)∗C(m,m−i)=C(n+m,m)=(n+m)!(n)!×(m)!
然后我们就可以计算了.
ans=∑ni=1C(n−1,i−1)×C(m,i)=∑ni=1[C(n,i)−C(n−1,i)]×C(m,i)=∑ni=1C(n,i)×C(m,i)−∑ni=1C(n−1,i)×C(m,i)=C(n+m,m)−C(n−1+m,m)=(n+m)!(n)!×(m)!−(n+m−1)!(n−1)!×(m)!
E Anton and Permutation
————————————————————————————————————————————
不会,待补