A.循环依赖
显然我们只需要哈希然后判环就行了。
B.A
首先考虑20分暴力,对于每个 (x) , 枚举 (n) 种答案,取 (max) 。
假的二次函数,我们除以一个 (x) ,根据 (x) 的正负,分类讨论维护凸包即可。
C.B
10分暴力:记忆化搜索
20分暴力:10分暴力+所有值都为1的情况,枚举走几步取完,每多一步,概率的分母就少 (1) ,然后枚举一遍求和就行了
60分暴力:带上只有两个的,枚举一下多少步能取完,首先从 (a[1]) 开始枚举,到 (a[1]+a[2]-1) ,因为再多就需要另一种讨论
这些情况下每次取概率都是二分之一,由于最后一个必须要第一个里的,所以方案数为 (C^{i-a_1}_{i-1}),乘起来求和就行。
最后的全部取的情况,枚举最后第二堆中取完后,第一堆剩多少,我们只需要按上次一样计算就行。
D.C
20分暴力:对于每个询问DFS,搜到对应点后直接统计答案。