首页 > TAG信息列表 > txdy

洛谷 P4178 / POJ 1741 Tree

洛谷传送门 POJ 传送门 一眼点分治。 当递归到结点 \(u\) 时,计算出子结点 \(v\) 的子树内,所有结点和 \(u\) 的距离。然后与之前的合并并计算答案即可。使用树状数组,时间复杂度 \(O(n \log n \log k)\),空间复杂度 \(O(n + k)\)。 code /* p_b_p_b txdy AThousandSuns txdy Wu_Ren

AtCoder AGC043C Giant Graph

洛谷传送门 AtCoder 传送门 学长讲的一道神仙题。 思路 由于 \(10^{18}\) 非常大,所以可以考虑这样一个贪心:每次取目前能取的 \(x+y+z\) 最大的点。因此先将所有边定向,从小的编号连向大的。 设 \(f_{x,y,z}\) 为是否选 \((x,y,z)\),那么 \(f_{x,y,z} = \prod\limits_{(x,y,z) \to (x

CodeForces 1677D Tokitsukaze and Permutations

洛谷传送门 CF 传送门 还不错的一道思维 + 计数题。 思路 考虑一次操作后对 \(v\) 数组的影响:相当于将 \(v\) 数组左移一位,原本的 \(v_1\) 被覆盖了,\(v_n\) 补零,然后对于 \(i \in [1,n-1]\),\(v_i \gets \min(v_i - 1, 0)\)。同时还可以发现一个 \(v\) 数组对应着唯一一个排列。 考

CodeForces 535D Tavas and Malekas

洛谷传送门 CF 传送门 思路 首先如果给出的位置合法(即不会有重叠部分不相同的情况),答案为 \(26^c\),\(c\) 为未填的字符数量。 于是本题的重点是判断是否有重叠部分不相同的情况。不难发现我们只用检验相邻的位置重叠部分是否相同。\(i \in [2,n]\),令 \(d = a_i - a_{i-1}\),只用判断

CodeForces 432D Prefixes and Suffixes

洛谷传送门 CF 传送门 思路 首先求出原串的 \(\mathbf{Z}\) 函数数组 \(nxt\),那么长度为 \(n - i + 1\) 的前后缀满足要求当且仅当 \(i + nxt_i - 1 = n\)。 显然长度为 \(i\) 的前缀的出现次数为满足 \(nxt_j \ge i\) 的 \(j\) 的个数,差分 + 后缀和维护即可。 时间复杂度 \(O(|s|