自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 【XSY3913】XOR(递归,分治,剪枝)

题面XOR题解以下对于一个数 xxx,用 xix_ixi​ 表示 xxx 在二进制下的第 iii 位。如果这个数本身就带下标,如 aka_kak​,那么用 ak,ia_{k,i}ak,i​ 表示 aka_kak​ 在二进制下的第 iii 位。发现带上绝对值很难搞,考虑如何确定绝对值的符号:对于 ∣a−b∣|a-b|∣a−b∣ 来说,我们找到 aaa 和 bbb 在二进制下最高的不同位 yyy,那么如果 ay=1a_y=1ay​=1(那么 by=0b_y=0by​=0),有 ∣a−b∣=a−b|a-

2021-03-29 21:35:54 34

原创 【XSY3955】作曲家(概率dp,生成函数,kmp)

这种序列相似的见过很多次,但一直不会做,今天终于知道一个套路了。记 sss 与 ttt 相似为 s∼ts\sim ts∼t。显然这个 “相似” 是有传递性的,即若 a∼ca\sim ca∼c 且 b∼cb\sim cb∼c,那么 a∼ba\sim ba∼b。前置知识/定义概率相关的定义定义 A‾\overline{A}A 表示事件 “事件 AAA 不发生”。定义 P(A)P(A)P(A) 表示事件 AAA 发生的概率。定义 P(A∣B)P(A|B)P(A∣B) 表示在事件 BBB 发生的前提下(

2021-03-29 08:51:36 48

原创 【XSY3979】数据结构(分治,剪枝)

题面数据结构题解挺神奇的一道题。正解是对 yyy 坐标分治。每次考虑 yyy 坐标在 [l,mid][l,mid][l,mid] 范围内的红点和 yyy 坐标在 [mid+1,r][mid+1,r][mid+1,r] 范围内的蓝点匹配成点对的贡献。考场上尝试过这种做法,但发现时间复杂度不对劲就弃掉了。但有一种极妙的剪枝方法,它结合了题目特殊的询问条件,得出并依靠了下面的这条结论:只有选择的红点为 yyy 坐标在 [l,mid][l,mid][l,mid] 范围内权值最大的那个红点、或者选择的

2021-03-26 16:15:12 33

原创 【XSY3976】匹配(状压dp,分层图,根号分类讨论)

题面匹配题解注意以下均有前提 a<ba<ba<b。考虑两种做法:做法一考虑 DP。设 f(i,sta)f(i,sta)f(i,sta) 表示当前已经确定了前 iii 个点之间的连边情况,且最后 i−b+1∼ii-b+1\sim ii−b+1∼i 这 bbb 个点的匹配状态为 stastasta 的方案数。转移显然,时间复杂度 O(n2b)O(n2^b)O(n2b)。做法二为了方便,不妨把所有点的编号都减 111,即原来的 1∼n1\sim n1∼n 号点变成了现在的 0∼

2021-03-23 20:20:03 22

原创 【XSY3899】切割(思维,模拟二分图匹配)

考虑这么一个边都和坐标轴平行的不规则图形,经过水平或竖直切割后,如何判断切割后的图形是个矩形。容易发现,如果切出来后的图形没有凹进去的点,它就是一个矩形。那么假设一开始有 aoaoao 个凹点,那么你的目标就是让凹点的个数变为 000。然后对于一种切法,如果它不经过凹点,我们肯定可以调整这种切法使得它经过凹点,可以证明这样不会更劣。那么你只需要最多切 aoaoao 次就可以把这个不规则图形切成一些矩形了。现在你的目标是每一次切尽量减少多一点凹点,也就是说尽量让每一切都能切到两个凹点。我们考虑在原

2021-03-23 19:36:46 33

原创 【XSY3898】强度(期望dp)

首先题目的要求肯定要转化。有多种转化方法,例如:(其中 sis_isi​ 代表以 iii 为根节点的子树大小)E(w(T))=E(∑i=1n∑j=1ndist⁡T(i,j))=E(∑i=2nsi(n−si))=E(∑i=2nnsi−si2)=n∑i=2nE(si)−∑i=2nE(si2)\begin{aligned}\Epsilon(w(T))=&\Epsilon\left(\sum_{i=1}^{n}\sum_{j=1}^{n}\operatorname{dist}_T(i,j)\righ

2021-03-23 19:11:23 40

原创 【ABC196F】Substring 2(多项式乘法)

以下的字符串均从 111 开始记位。以下设 SiS_iSi​ 表示字符串 SSS 的第 iii 位,S(l,r)S(l,r)S(l,r) 表示字符串 SSS 的第 lll 位到第 rrr 位组成的子串,也可以表示字符串 SSS 的第 lll 位到第 rrr 位组成的序列。设 fi,jf_{i,j}fi,j​ 表示 SSS 串从位置 iii 往后 jjj 个字符所组成的串 和 TTT 串从位置 111 往后 jjj 个字符所组成的串 有多少位不相等,即 S(i,i+j−1)S(i,i+j-1)S(i,i+j

2021-03-21 10:33:12 85 1

原创 【XSY3920】简单的几何题(几何,凸包)

题面简单的几何题题解易知 v≠0v\neq 0v​=0,那么直接考虑条件:(xiu2+xi−uv−yiv)b2≤(xia2+xi−ab−yib)v2xiu2+xi−uv−yivv2≤xia2+xi−ab−yibb2\begin{aligned}\left(x_iu^2+x_i-uv-y_iv\right)b^2&\leq \left(x_ia^2+x_i-ab-y_ib\right)v^2\\\frac{x_iu^2+x_i-uv-y_iv}{v^2}&\leq\frac{x

2021-03-20 20:43:58 26

原创 【XSY3921】简单的数据结构题(多项式,拉格朗日插值,线段树)

题面简单的数据结构题题解直接考虑我们要计算的式子。为了方便,我们先设 l=1,r=nl=1,r=nl=1,r=n。∑i=1naik∏j≠i1−aiajai−aj=∑i=1naik(∏j≠i1ai−aj)(∑l=0n−1∑1≤j1<j2<⋯<jl≤nj1,j2,⋯ ,jl≠i(−aiaj1)(−aiaj2)⋯(−aiajl))=∑i=1naik(∏j≠i1ai−aj)(∑l=0n−1ail[xn−1−l](∏j≠i(x−aj)))=∑l=0n−1[xn−1−1](∑i=1naik+l

2021-03-19 19:33:24 33

原创 【XSY3972】树与图(树形dp,树剖,分治NTT)

题面树与图题解不难发现本题可以转化成以下题目: 给定一个 nnn 个点的有根树 ,你可以在树上选择 kkk 个点,满足对于任意两个点都不 互为祖先关系,且从根到每个叶子的路径上都恰好有一个被选择的点。求对于所有 i∈[1,n]i\in[1,n]i∈[1,n],求所有恰好选择 iii 个点的方案数。这显然可以树形 dp,设 fi,jf_{i,j}fi,j​ 表示以 iii 为根的子树中恰好选择了 jjj 个节点的方案数(先不考虑选择顺序),合并就是树上背包。发现这个树上背包可以用多项式乘法实现,即设

2021-03-18 08:13:17 37

原创 【XSY3813】漏网之鱼(线段树)

题面漏网之鱼题解为了方便表述,不妨设 mex(l,r)mex(l,r)mex(l,r) 表示 mex(a[l],a[l+1],⋯ ,a[r])mex(a[l],a[l+1],\cdots,a[r])mex(a[l],a[l+1],⋯,a[r])。首先,对于权值大于 n+1n+1n+1 的 a[i]a[i]a[i],我们直接把它设为 n+1n+1n+1 就行了,因为 mexmexmex 肯定不会大于 nnn。然后 O(n)O(n)O(n) 预处理出 nxtinxt_inxti​ 表示 aia_iai

2021-03-17 08:12:20 25 1

原创 【XSY3952】简单的计数题(dp)

题面简单的计数题题解首先题意可以转化为:给你一个长度为 nnn 的序列 ccc,求将 ccc 分成两个长度为 n2\dfrac{n}{2}2n​ 的相同的子序列的方案数。考虑 dp,设 f(i,sta)f(i,sta)f(i,sta) 表示已经将 ccc 的前 iii 位分成了两个子序列,其中长的子序列比短的子序列多出来的未匹配的部分为 stastasta(用 deque、list等STL容器均可记录)的方案数。不妨称这个 stastasta 为状态,那么只有当状态长度不大于 n2\dfrac{n}

2021-03-16 07:55:12 48

原创 【XSY3951】简单的博弈题(博弈,dp,组合数,容斥)

题面简单的博弈题题解对于贪心的对手的情况,田忌赛马即可。对于随机的对手,发现使用任何策略都不影响结果。那我们只需要选一种自己数字的排列并固定下来,再去和对手的数字的 m!m!m! 种全排列匹配即可。暴力枚举全排列是不可接受的,考虑自己选一种特殊的数字排列固定,以优化计算。考虑将自己的数字排序后形成的排列为 a1,a2,⋯ ,ama_1,a_2,\cdots,a_ma1​,a2​,⋯,am​,不妨设对手的数字中有 sis_isi​ 个小于 aia_iai​。设 dp[i][j]dp[i][j]d

2021-03-15 21:39:25 35

原创 【XSY3915】数学作业(常系数齐次线性递推,多项式,矩阵快速幂)

题面数学作业题解看到 mmm 很大,联想到矩阵快速幂。由于对于每个初始的 xxx,它变成 111 的方法是唯一的。所以我们可以考虑从 111 倒推,这样用不同的方法倒推得到的数肯定是不同的,所以不会算重。为了方便,我们从 000 而不是 111 开始倒推,此时原来倒推 mmm 步就变成了倒推 m+1m+1m+1 步(这样会算多,但我们最后再处理多出来的这一部分)。假设当前数为 xxx,考虑 xxx 向前倒推:若 x≢k−1(modk)x\not \equiv k-1 \pmod kx​≡k−

2021-03-14 10:09:36 29

原创 【XSY3961】决战圣诞树(dfn序线段树,多项式,生成函数)

题面决战圣诞树题解设 aia_iai​ 表示最终满意指数为 iii 的方案数,我们考虑求出 aia_iai​ 的生成函数。那么树上每个点都要维护一个多项式,表示仅对于这个点的 aia_iai​ 的生成函数。那么题目就可以看成支持以下几个操作:给定 v,av,av,a,将节点 vvv 的多项式乘上 (1+xa)(1+x^a)(1+xa)。给定 v,b,cv,b,cv,b,c,将节点 vvv 的多项式乘上 (1+xa+xb)(1+x^a+x^b)(1+xa+xb)。给定 vvv,将与

2021-03-12 14:51:36 27

原创 【XSY3929】PQ 树(区间dp)

题面PQ 树题解注意到题目中提到了 “合法的 PQ 树都能表示出 1,2,3,⋯ ,n1,2,3,\cdots,n1,2,3,⋯,n 这个排列"。那么如果我们把所有叶子节点按它们的数字按 1∼n1\sim n1∼n 从左到右排,形成的 PQ 树是没有相交边的,也就是说不会出现这种情况:你也可以理解成一棵子树一定存着的是一段连续的数字区间(顺序不一定是有序的)。不难发现如果此时两课 PQ 树的形态不同,他们能表示出来的集合也不同。那我们考虑区间dp,设 f(i,j)f(i,j)f(i,j) 表示

2021-03-10 15:18:27 40

原创 【XSY3948】行列式(行列式,树形dp)

题面行列式题解马神说:这可能是本场比赛最简单的一道题。黑人问号脸.jpg(这篇题解我很多地方写得很简略或很不严谨,所以如果有些地方看不懂请自己推一推)考虑构造矩阵 B=(x)n×nB=(x)_{n\times n}B=(x)n×n​,然后设矩阵 C=A−BC=A-BC=A−B。那么矩阵 CCC 满足 Cpi,i=bi−xC_{p_i,i}=b_i-xCpi​,i​=bi​−x,Ci,pi=ci−xC_{i,p_i}=c_i-xCi,pi​​=ci​−x,Ci,i=di−xC_{i,i}=d_i

2021-03-09 22:03:35 60

原创 【XSY3947】完美串(思维/结论)

题面完美串题解考虑一个完美串 sss 应该满足什么性质。若 sss 中 000 和 111 数量相同,那么显然是 010101 交错的。否则不妨设 111 比 000 多,那么循环意义下一定有连续的 111111,不然 111 不可能比 000 多。又由于有连续的 111111,那么就不能有连续的 000000,不然这个串就不是完美串。考虑一个 111 比 000 多的完美串 sss,那么在循环意义下,sss 可以被分割成若干段 111,而且每段 111 之间恰好隔着一个 000。从 sss

2021-03-07 14:29:57 52

原创 【XSY3949】取石子游戏(博弈,线段树)

我们把一个有 nnn 个石子, Alice 每次能拿 aaa 个, Bob 每次能拿 bbb 个的堆称为状态 (n,a,b)(n,a,b)(n,a,b)。石子数太大的时候不利于分析,尝试简化一下:可以证明状态 (n,a,b)(n,a,b)(n,a,b) 的结果同 (n mod (a+b),a,b)(n\bmod (a+b),a,b)(nmod(a+b),a,b) 状态的结果相同。所以我们只需对每一个 n←n mod (a+b)n\gets n\bmod(a+b)n←nmod(a+b),然后只考虑 n&l

2021-03-07 09:58:08 38

原创 【XSY3896】相似(dp套dp,状压)

题面相似题解可以发现,SSS 和 TTT 相似,等价于它们的最长公共子序列长度至少为 n−kn - kn−k。首先考虑如何求出两个字符串的 LCS\text{LCS}LCS(最长公共子序列)。考虑 dp:设 fi,jf_{i,j}fi,j​ 表示 S[1∼i]S[1\sim i]S[1∼i] 与 T[1∼j]T[1\sim j]T[1∼j] 的 LCS\text{LCS}LCS 长度,转移是显然的:fi,j={fi−1,j−1+1if⁡S[i]=T[j]max⁡(fi−1,j,fi,j−1)if

2021-03-05 10:24:23 29 1

原创 【XSY3918】数数(矩阵树定理,分治NTT)

题面数数题解tm怎么天天数数(考虑一个点数为 nnn 的有向完全图:对于边 i→ji\to ji→j 来说,若 i<ji<ji<j 则边权为 xxx,否则边权为 111。显然答案就是这张图中以 rrr 为根的且边权乘积为 xmx^mxm 的内向树个数。考虑矩阵树定理。先推出基尔霍夫矩阵 KKK:K=D−A=∣(n−1)x0⋯00(n−2)x+1⋯0⋮⋮⋱⋮00⋯n−1∣n×n−∣0x⋯x10⋯x⋮⋮⋱⋮11⋯0∣n×n=∣(n−1)x−x⋯−x−1(n−2)x+1⋯−x⋮⋮

2021-03-04 09:50:29 54 1

原创 【XSY3919】线图(树形dp,分类讨论)

题面线图题解大力分类讨论题。显然,L(L(T))L(L(T))L(L(T)) 中的点代表着 TTT 上的一条三点链。所以 L(L(T))L(L(T))L(L(T)) 上两点的最短路显然是沿着 TTT 上两条三点链间的唯一路径走。有很多种情况,这里举一种情况吧:如图,我现在想从红线框起来的三点链走到蓝线框起来的三点链。不妨设 w1<w2w_1<w_2w1​<w2​,那么 dis=3w1+w2+W+3w3+w4dis=3w_1+w_2+W+3w_3+w_4dis=3w1​+w2

2021-03-02 14:15:51 32

原创 【XSY3917】分数(思维,构造)

题面分数题解手推一下发现最优策略是:(不会证)若 x<0x<0x<0,则不断 x←x+1x\gets x+1x←x+1 直到 x≥0x\geq 0x≥0 为止。若 x>0x>0x>0,则 x←−1xx\gets -\dfrac{1}{x}x←−x1​。若 x=0x=0x=0,终止。也就是说,设开始时 x=ab<0x=\dfrac{a}{b}<0x=ba​<0(若 x>0x>0x>0 则执行 222 操作),

2021-03-01 16:54:53 20

原创 【XSY3906】数数题(期望,多项式)

让多项式完全入门、求导积分0基础的来做这个???赶紧看来一波高中选修2-2,才来硬推这道题。所以说有一些对于巨佬们来说很简单就能推出来的东西,我可能反而会用一些更加复杂的方法。题目可以看成是对于所有的 kkk 求出:lim⁡Δx→0(∏i=1n1aiΔx+1⏟加 1 是因为植树原理)⏟每种结果出现的概率(∑b1=0a1Δx∑b2=0a2Δx⋯∑bn=0anΔx⏟枚举每个 xi=biΔx(∑i=1nbiΔx)k)\lim_{\Delta x\rightarrow 0}

2021-03-01 10:14:16 100

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除