首页 > 其他分享 >一些东西 题解

一些东西 题解

时间:2024-06-23 15:22:36浏览次数:3  
标签:begin end 题解 sum sqrt choose 东西 一些 aligned

A

TBA

B

设 \(f_{i,0/1}\) 表示 \(i\) 子树 DFS 序奇 / 偶位置和的最大值,

首先如果 \(i\) 所有孩子的子树大小都是偶数,那访问这些孩子的顺序就无所谓了,

否则考虑以 \(i\) 的至少一个大小为奇数的孩子为分界,

对所有大小为偶数的孩子 \(v\),把 \(f_{v,0}\) 更大的 \(v\)、\(f_{v,1}\) 更大的 \(v\) 分别放在其两侧,

这样就可以对所有 \(v\) 取到 \(\max(f_{v,0},f_{v,1})\) 的贡献。

然后考虑剩下 \(c\) 个大小为奇数的孩子 \(v\),可以发现一半 \(v\) 取到 \(f_{v,0}\),一半 \(v\) 取到 \(f_{v,1}\),贪心即可。

C

对每个 \(1\) 的位置 \(i\),考虑 \(\text{LCP}(x,n)=i-1\) 的 \(x\) 的贡献,

即考虑 \([1,i-1]\) 位与 \(n\) 相同,\(i\) 位填 \(0\),后面 \(n-i\) 位任意填的数的贡献。

设 \(k=n-i\),前 \(i-1\) 位中有 \(c\) 个 \(1\),则这些数的贡献为:

\[\sum_{i=0}^k{n\choose i}f_{i+c} \]

Sol 1

设 \(x_1=\dfrac{1+\sqrt 5}2\),\(x_2=\dfrac{1-\sqrt 5}2\),则:

\[\begin{aligned} &\sum_{i=0}^k{n\choose i}f_{i+c}\\ =&\dfrac 1{\sqrt 5}\left(x_1^c\sum_{i=0}^k{n\choose i}x_1^i-x_2^c\sum_{i=0}^k{n\choose i}x_2^i\right)\\ =&\dfrac 1{\sqrt 5}\left(x_1^c(x_1+1)^k-x_2^c(x_2+1)^k\right) \end{aligned} \]

预处理需要预处理的东西即可。

\(5\) 好像不是二次剩余,直接扩域。

Sol 2

设 \(F=\begin{bmatrix}0&1\end{bmatrix}\),\(B=\begin{bmatrix}1&1\\1&0\end{bmatrix}\),\(I\) 为单位矩阵,则

\[\begin{aligned} &\sum_{i=0}^k{n\choose i}f_{i+c}\\ =&F\times B^c\sum\limits_{i=0}^k{n\choose i}B^iI^{n-i} \end{aligned} \]

显然 \(B\) 和 \(I\) 有交换律,那么

\[\begin{aligned} &F\times B^c\sum\limits_{i=0}^k{n\choose i}B^iI^{n-i}\\ =&F\times B^c(B+I)^k \end{aligned} \]

预处理需要预处理的东西即可。

标签:begin,end,题解,sum,sqrt,choose,东西,一些,aligned
From: https://www.cnblogs.com/5k-sync-closer/p/18263480

相关文章

  • [题解]CF311B Cats Transport
    思路首先,对于每一只小猫刚好玩完就被饲养员接走的出发时间必定为\(t_i-sd_i\)。那么,我们令\(a_i=t_i-sd_i\)表示第\(i\)只小猫的最早出发时间。因此,对于第\(k\)时刻出发的饲养员能接到的小猫当且仅当满足\(a_i\leqk\)。然后,我们定义\(dp_{i,j}\)表示用\(i\)......
  • [题解]CF245H Queries for Number of Palindromes
    思路定义\(dp_{i,j}\)表示区间\([i,j]\)中回文串的数量。那么,不难得出状态转移方程\(dp_{i,j}=dp_{i-1}+f_{i,j}\)。(其中\(f_{i,j}\)表示左端点大于等于\(i\),右端点为\(j\)的回文串数量)由此,现在问题转变为了如何求\(f_{i,j}\)。如果我们在求出了\(f_{i+1,j}......
  • [题解]CF154B Colliders
    思路首先我们将两种操作分开讨论:Part1加入操作那么,我们可以用一个数组\(vis_i=0/1\)表示\(i\)是关闭/开启状态,\(p_i\)表示因数有\(i\)的数。如果$vis_x=1$,说明此机器在之前已经启动过了,输出Success。然后,对\(x\)分解质因数,将质因数全部塞进一个集合\(a\)......
  • [题解]AT_dp_w Intervals
    思路首先考虑较为普通的DP。定义\(dp_{i,j}\)表示在前\(i\)个位置中,最后一个1在\(j\)的最大分数,显然有:\[dp_{i,j}=\left\{\begin{matrix}\max_{k=1}^{i-1}\{dp_{i-1,k}\}+\sum_{l_k\leqj\wedger_k=i}{a_k}&(i=j)\\dp_{i-1,j}+\sum......
  • [题解]AT_arc138_a [ARC138A] Larger Score
    思路不难发现:对于每一个\(i(1\leqi\leqk)\),如果能在\((k+1)\simn\)中找到任何一个\(j\),满足\(a_j>a_i\)就算满足条件。进一步思考,为了使操作数最小,对于每一个\(1(1\leqi\leqk)\),都找一个在\((k+1)\simn\)中第一个大于\(a_i\)的数,便于它交换。那么......
  • [题解]AT_arc116_d [ARC116D] I Wanna Win The Game
    思路因为题目与二进制有关,考虑往二进制的方向思考。定义\(dp_{i,j}\)表示在所有的\(n\)个数中,当前在决策对于每一个数在二进制表示下的第\(i\)位是\(0\)还是\(1\),且和为\(j\)的方案数。因为异或需要满足对于所有\(a_i\)表示为二进制后每一位\(1\)的个数均为偶数......
  • [题解]AT_arc116_b [ARC116B] Products of Min-Max
    思路我们容易可以得到一个朴素的做法,首先对\(a\)数组排序,然后枚举最大值和最小值\(a_i,a_j\),那么对于中间的元素都有选与不选两种情况,得到答案:\[\sum_{i=1}^{n}(a_i\timesa_i+(\sum_{j=i+1}^{n}a_i\timesa_j\times2^{j-i-1}))\]然后对这个式子......
  • [题解]AT_arc113_c [ARC113C] String Invasion
    题意给定一个字符串\(S\),你可以选择一个\(i(1\leqi\leq|S|)\),如果\(s_i=s_{i+1}\neqs_{i+2}\),就将\(s_{i+2}\)设为\(s_i\)。问:最多能操作几次。思路我们可以用一个后缀和\(s_{i,j}\)维护\(S_i\simS_n\)中与\(j\)不同的数量。然后,我们可以发现一......
  • [题解]AT_arc079_c [ARC079E] Decrease (Judge ver
    思路首先,对于每一次操作,我们可以先找到最大值,然后对其操作。这样,我们可以得到单次操作时间复杂度\(\Theta(n)\)的代码,因为\(n\)很小,所以这道题时间复杂度的瓶颈在于操作的数量。那么,我们想到每一次找到最大值时,直接将其减到小于\(n\)。但是这样可能有一种问题,就是最大值......
  • [题解]AT_agc054_b [AGC054B] Greedy Division
    思路首先不难发现一个规律,当\(sum\)为奇数时不可能有解。定义\(dp_{i,j,k,0/1}\)表示A在前\(i\)个数中选出和为\(j\)的\(k\)个数,且第\(i\)个不选/选的方案数。那么,我们只需要对于第\(i\)个数的状态分类讨论就能得到状态转移方程:不选\(i\),\(dp_{i,j,k,0}=......