A. 金

显然是问gcd是否为1

高精取模

 

 

 

B. 斯诺(snow)

考虑问题的逆问题。

有多少区间是不合法的。

显然一个区间,最多在考虑一种颜色的情况下不合法,所以不用容斥。

推一下不合法条件的式子,然后发现要求一个前缀和。

树状数组就一个log了。

发现每次查询的右端点移动很小,像莫队一样移动就行了。

 

 

 

C. 赤(red)

暴力dp是$O(n^3)$的。

发现dp值随扔出的两种食品变化的斜率(也就是单位食品的贡献)是单调不上升的。

所以直接wqs二分套wqs二分。

二分斜率去切凸包,最后通过斜率和切到的纵截距算出答案就行了。