AGC002

A

B

C

有解当且仅当存在 (a_i + a_j geq L)

D ( riangle)

考虑一个暴力:整体二分,每次遍历整张图

由于每次访问的点的数量跟二分的mid有关,直接t飞

可以发现上面这个算法并没有很好地重复利用之前的信息

考虑把信息用并查集维护,然后把 (1 sim m) 每次的操作存下来,用按秩合并实现 (O(1)) 撤销,每次判定时直接暴力移动,由于每次移动不会超过当前区间长度的两倍,复杂度可以达到 (O((m + q)log m))

E

把所有数从小到大排后放在网格上,就变成了有一条折线围成的区域,每次只能往上或往左走,折线向右拐的拐角处为必败,问右下角的状态

(没有图,感性理解一下)

讨论一波,可以发现每个格子的右下角的状态跟这个格子是一样的,所以我们只用找到对角线上第一个格子,按照奇偶性算一下就好了

F

怎么感觉后三题的难度是按降序排的

显然,序列的第一个球一定是白色的,我们可以把它和第一个有色球的颜色“捆绑”在一起,把这些球删掉后仍然是一个合法的序列

然后就可以开始dp

(f_{i, j}) 表示有 (i) 种颜色,前 (j) 个球是白球的合法序列数, (m) 表示每种颜色有多少个球,可得

[f_{i, j} = sum_{k geq j - 1} f_{i - 1, k} cdot g(m - 2, m(i - 1) - (j - 1) + 1) ]

其中 (g(i, j)) 是把 (i) 个无差别球放到 (j) 个有差别的盒子里的方案数,即 (inom {i + j - 1} {j - 1})

前缀和优化一下即可

原文地址:https://www.cnblogs.com/0xfffe/p/12462750.html