大概按题目难度顺序排序。这篇题解可能没那么口胡。
被 dead_X 称为全是签到题。
E Elevator
相当于每个电梯在 \(-x_i\),每次可以把最大的,编号最小的值减一,要求使得 \(i\) 是编号最小的最大值的步数。那显然是都怼到 \(-x_i\) 处然后算一算有多少编号比 \(i\) 小的即可。这个可以树状数组,复杂度 \(O(n\log n)\)。
H GameX
最优策略肯定是每次找到一个最小的还没出现的自己会输的数值填上,所以直接搞两个指针指一指就好了, 复杂度 \(O(n)\)。
L Station of Fate
把 \(n\) 个数分成 \(m\) 组,每组至少一个人的方案数是 \(\binom{n-1}{m-1}\),再分配上顺序,总和就是 \(n!\binom{n-1}{m-1}\)。
I Infection
设 \(f[i,j]\) 代表以 \(i\) 为根的子树选了 \(j\) 个节点,不定根的概率,\(g[i,j]\) 代表定根的概率,然后转移的时候就分类讨论一下根有没有定即可。根据树形背包的理论,复杂度为 \(O(n^2)\)。
M XOR Sum
从大到小考虑每一位,枚举有多少为卡到上界,再枚举 \(0,1\) 的个数,那么就可以算出低位对高位的进位,把这个也记入状态中转移即可。复杂度是个很小的东西,所以应该咋写都能过。
B Ayano and sequences
不知道为什么acm赛制这么板的数据结构题切的人那么少。
操作一用珂朵莉树维护,并维护时间戳。操作二用线段树维护即可。时间复杂度 \(O(n\log n)\)。
J Math Exam *
显然有 \(a_i=a_{i-1}+2\) 或者 \(-a_{i-1}\)。设 \(b_i=|\frac{a_i+1}{2}|\),然后 \(a\) 的变化呈现在 \(b\) 上面就是 \(b_{i}=b_{i-1}+1\) 或 \(b_{i}=b_{i-1}-1\),于是变成了经典的格路计数问题。处理组合数前缀和,不同的终点显然是连续的。
K Middle Point Graph *
四个随机的点共面的概率显然为 \(0\)。分类讨论,四个点都是边的中点,直接四元环计数。三个边,一个点,只能是三元环。两个点,两个边,有两种情况:一条边以及其两个端点,再加上随便一条边;两条相邻的边以及除了公共点的那个点。以及一条边,三个点。除了这条边的端点其他都能选。
C Customs Controls 2
设 \(1\) 号点到每个点的路径长度为 \(d_i\),那么要求即为可以到同一个点的的点的值相同,有直接相连的边的两点要一大一小,于是直接差分约束即可。其实不需要,并查集+拓扑排序即可。
A Alice and Her Lost Cat *
\(f[i,j,0/1]\) 代表 \(i\) 子树内要查 \(j\) 个叶节点的最小值,是否有一个叶子不用被查。
有转移 \(f[i,j,0]=\min(a_i+\min_{\sum_{k_o}=j}(\min f[v_o,k_o,0/1],\min_{\sum_{k_o}=j}f_{v_o,k_o,0})\)。\(f[i,j,1]=\min_{\sum_{k_o}=j}(\min f[v_o,k_o,0/1])\),只能有一个地方最后一维取到 \(1\)。
复杂度 \(O(n^2)\)。
D Digits
F Equations
不妨设 \(a\nmid b\),有 \(f(a,b,m)=f(a\bmod m,b,m)\)。考虑 \(ax+my=b\) 的最小非负整数解 \(x=\frac{b+mz}{a},z>0\),显然这个 \(z=f(m,-b,a)\),对于 \(m \bmod a\) 相同的数 \(z\) 相同,于是枚举 \(\bmod a\) 的余数,然后等差数列求和即可。