自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Atcoder】 [ABC231G] Balls in Boxes

然后考虑生成函数,因为是有顺序的,所以用。暴力卷,所以可以写成。项,不妨直接枚举其次数。

2023-11-22 14:35:07 120

原创 【Codeforces】 CF1870E Another MEX Problem

转移次数,即只转移有用的区间。考虑证明剩下有用的区间个数是。可用类似最短路的方式实现。是有用的,我们不妨令。存最优位置对应的异或。所以剩余的区间个数是。

2023-11-08 22:16:38 197

原创 2023大联盟8 比赛总结

有点忘了,稍微写一些本来早上有nfls的,但因为今天大联盟T1是我们学校的题,于是写大联盟第一题因为下午要我们讲,所以讨论了一下做法,个人感觉第一步把aba拆成ab和a两个不关联的部分很妙,其他随便贪或者我比较蠢,写了决策单调性优化dp大概过了40minT2是串串题,看了一遍没什么思路,于是跳接下来就是恶心的部分了我C题一眼想到一个nm2的dp,遂写,发现过了样例,考虑优化时一眼卷积,于是便直接开始打ntt,打完之后发现坏了,模数是1e。

2023-11-03 22:31:00 214

原创 20231103 比赛总结

日常20min后开考稍微想了一下T1,手玩了几个数据 + 样例的树形结构发现和lowbit关系较大,遂往这个方向考虑,大概回了,写了很久,中间有些细节不确定调了很久,大概1h过了T2一眼感觉第二种法术在最下面的根号左右层才有用,算了一下发现是6n​,有800左右,nfls机子很慢,在乘上一些常数感觉有点过不去去和其他人讨论了一下发现没有更好的解法, 遂冲了一发,很快过了大样例,测了一波极限数据0.3s,怎么跑这么快!!!这时大概是2hT3。

2023-11-03 21:52:35 179

原创 【Codeforces】 CF840E In a Trap

位和其他的位,然后异或完之后再加起来。上面的式子为什么是对的?的数据范围,可以想到根号数据结构。,所以我们的第一目的是使。最大,在这个基础上,使。查询答案是直接跳即可。

2023-11-02 13:39:57 90

原创 【Codeforces】 CF582D Number of Binominal Coefficients

不太好考虑,所以我们考虑从后往前做,然后多记录一维。即可,实现的有些烦,但也不知道可以优化什么了。位的),这一位是否进位,后面。然后就是一个显然的数位。因为进位从前往后数位。

2023-10-28 22:15:51 327

原创 【Codeforces】 CF79D Password

看到区间异或,一个经典的套路是做差分,我们即在。的位置的异或值,那么这个问题等价于建出图来从。于是我们可以将问题转化成:有一个序列初始全。然后发现直接状压跑最短路即可,时间复杂度。,其他不变,每次可以同时修改相隔。,求最少将其变成一个状态的步数。处异或一次,然后前缀和起来。:在异或操作中,如果需要把。的做法艹过去了,就懒得改了。这里有一个非常重要的。

2023-10-28 22:06:14 366

原创 【Luogu】 P5642 人造情感(emotion)

维护,具体来说,它需要实现单点加,链查,而因为遍历树的独特结构,所以我们可以把它变成子树加,单点查。暴力计算我在程序中用注释标出了,然后就是优化这个暴力,这个不算太难,注意一些细节即可。序,然后线段树做,注意要特殊考虑。继续考虑分类转移,我们这里考虑用。,我不知道如何能想到下面的解法。的子树中的路径的最大独立集。子树外的路径的最大独立集。上面的东西可以把树拍平成。同时我们需要另一个数组。一个技巧是把路径挂在。最后就可以考虑计算答案。

2023-10-28 21:57:41 157

原创 20231027 比赛总结

我们每次暴力一点每次直接往上跳,现在的问题是如何判断是否可以跳,用数据结构不难维护。连边,那么这就是基环树和树森林,考虑一个基环树是无法交换的,所以只可能是树上交换。简单很多,有一个比较显然的贪心写法,但数据很水,随便怎么都能过(指时间),但。不会,一直在想如何构造,甚至开始搜哈密顿路的定理(感觉不难,出了点小问题也及时解决了,感觉不错。不难发现,树上交换的一定是一条从根开始的链。定理),感觉正式比赛中应该先跳,失策了。的颜色是没有本质区别的,可以只考虑。会改变位置,不难发现,很妙的一道题,但是是。

2023-10-28 21:27:24 90

原创 20231023 比赛总结

我们只要用并查集维护这个点后面第一个未被访问到的点即可,然后在。括号匹配题的套路感觉没有掌握透,感觉无非就是单调栈,哈希,折线图。花了很长时间,幸亏没怎么调就对了,以后还是应该先看其他题的。前一个不合法的情况,因为集合不相交,所以直接减掉即可。,我们可以把它理解成多项式,然后把它拆开成若干个乘积。值,可以发现每段区间只会有一个位置的。我们假设我们有一张图,每个点都是指向。的过程中便可以合并并查集,然后做到。的每一个类,这样就可以用上述方法。的操作,我们记录每段区间的。,把每个点归到类中去,那么类。

2023-10-24 22:42:34 108

原创 20231024 比赛总结

具体来说,我们对线段树的每个结点维护这个节点的子树中每层的和,然后修改时暴力修改,同时打。个单调栈的做法,感觉比较难想,之前没见过很难想出来,感觉还是见多识广。然后直接单调栈维护,注意一下加入顺序,需要保证加完之后栈仍是单调递减的。共同转移过来的,不难想到树上高斯消元,直接推一推式子即可。原题的套路,考虑对于每一层记录下一层的逆序对和顺序对数。条边的期望,这样我们就 不用考虑走过多少条边了。,最后别人跟我讲假了,感觉不能一直弄一道题,考试的时候没看完题感觉有点失败,感觉。的范围很小,所以考虑维护。

2023-10-24 22:14:00 92

原创 【Luogu】 P4619 [SDOI2018] 旧试题

(我是做这道题的时候才知道这个式子的,但感觉挺有用的)的复杂度仍然很高,但我们可以感受到三元组。的形式,然后就可以开始莫比乌斯反演。于是直接建完图之后暴力枚举三元环即可。我们用暴力跑过之后发现边数最多为。,是可以接受暴力枚举三元环的。的情况可以建图时顺带做一下。交换循环顺序,先枚举。上面的推导感觉很自然。接下来的一步就很神了。

2023-10-22 23:02:52 890

原创 【Codeforces】 CF1830D Mex Tree

的取值范围,因为我们得到了答案的下界,所以可知。考虑估算答案的下界,一个优秀的方案是黑白染色。那么这时可以得到答案的下界为。然后我们就可以考虑暴力的。

2023-10-18 07:43:33 142

原创 2023大联盟6比赛总结

然后就是经典的反悔贪心操作了,找最大的区间,然后区间取反,用线段树维护即可。的限制很松,所以直接记录最大值和次大值就可以维护,时间复杂度。所以我们可以把所有有值的点对找出来,然后询问就相当于二维数点了。更优(快了 3 倍),看来分块还是要学习一些卡常技巧的。于是我们可以猜测需要保留的转移状态不会太多,事实上是真的。不说了,思想比较简单,就是分块 + 块内用优先队列维护。相等的状态只需要保留一个,那么后面最多只会排除掉。为什么打表就我看不出规律!必须为偶数因为一直循环下去。相同的,我们只保留最大的。

2023-10-17 23:03:46 825

原创 20231016比赛总结

我们考虑如何判断一个子矩形不存在两个黑色连通块(假设我们保证它不存在空腔)我们把每列中极大的黑色相邻块缩成一个点,然后列与列直接相邻的点之间连边。个点一定会构成若干条链,那么我们不妨记。,不难发现直接双指针 + 桶维护即可。我们考虑搜出所有的空腔的,然后在。没什么好说的,之前做过类似的题。我们想到这是一张每个点出度为。的答案的话合并前缀和后缀的。感觉有点难想,而且要特判!如果这个图是一颗树,即。没想到正解并不算太难。

2023-10-17 11:21:49 64

原创 20231013比赛总结

sb题,不多说。

2023-10-16 22:20:31 79

原创 【Codeforces】 CF1864H Asterism Stream

考虑对于每次加操作考虑它的贡献,不难发现贡献一定是。考虑一个时间复杂度较劣,但好理解一些的做法。的系数),这个直接转移即可,注意特判。首先根据期望的线性性,把问题转化成。进制的形式,那么就可以进行数位。的限制不优秀,所以把它转化成。的方案数,然后枚举这一位为。都需要计算,所以时间复杂度。那么现在的问题就变成了求。的个数,可以发现概率为。的方案数(同时需要乘上。就可以转移,时间复杂度。的限制,可以添加一项。那么现在就考虑变成数。操作间的加操作的个数。注意到我们需要预处理。,没有其他的实际意义。

2023-10-16 21:39:01 83

原创 【Codeforces】 CF1097G Vladislav and a Great Legend

我们令非空顶点的点集为关键点,其他生成树上的点为包含点。首先一个套路是普通幂转下降幂(为什么?很小,下降幂可以转化组合数问题,从而。现在的问题是对于所有生成树求出中间选。的时间复杂度计算,时间复杂度为。

2023-10-15 13:27:33 197

原创 2023大联盟2比赛总结

可以发现操作类似冒泡排序,然后手玩一下样例发现答案为逆序对数。的部分分,这一部分有一个经典的想法:考虑答案即为。符合条件,然后就用队列存储调整的点,一直调整即可。的方案数,这可以枚举行和列的分割线,递归下去求解。,即为在每个连通块内选一个点的方案数,这个可以令。所在的连通块是否选过点的方案和,时间复杂度。奇怪的贪心和构造题一直是我的软肋部分。考虑先给图随便染色,然后调整。的颜色全部相同,那么修改。级别的,肯定不会调整很多次。的矩形求出覆盖矩形内所有。,这个可以根据组合意义用。感觉这才是本场比赛的签到题。

2023-10-14 20:08:07 140

原创 【Codeforces】 CF1762E Tree Sum

为奇数的情况一定不可能点全部合法,但又要使它合法,只能让子树根的乘积为。种染色方案,即从叶子一层一层往上面染,这样一定可以构造出来解且唯一。(我也要提醒我自己!)是:对于每条边考虑它的贡献,然后类和。接下来考虑一个结论是:偶数个点的树的形态确定之后,只有恰好。为奇数的情况无解,这个可以通过乘积矛盾简单证明。当且仅当这条边对应的两个子树大小都为偶数。考虑一个更强的结论是:一条边的边权为。这样就好算了,对于一条连接大小为。全为偶数的情况用反证法不难证出。个点的树的形态方案数,即为。,然后令上面连向整体的边为。

2023-10-10 22:45:46 433

原创 20231008比赛总结

如果我们把体力值化成函数图像可以发现,答案为最低点的相反数。所以我们其实是可以直接通过一些方法来判掉三元环的情况的。考虑图中的黑边为出了三元环之间的边以外的其他相隔。我是弱智吧,一个错误的贪心把所有的样例全过了,表示这个点是被邻点访问到时需要访问的邻点的集合。考虑钦定子树的访问顺序,使最小的体力值最大。的边是好做的,直接暴力时间复杂度就是对的。边来的点,这样可以省掉一个优先队列的。的数据,所以要扩域,把数表示成。考虑到一个结论是三元环的个数是。的边,我们考虑每次枚举邻点。中,否则,就更新答案,且把。

2023-10-10 07:38:19 48

原创 20231009比赛总结

构造题怎么也不会!怒!

2023-10-09 22:18:16 121

原创 数论div2训练题解

考虑很多指数级的东西,考虑欧拉定理,因为一个数的若干次方。为质因子个数,所以考虑对于每个质因子分开考虑。,对于询问暴力做时间复杂度就是对的。然后预处理出每个可能用到的。要注意到快速幂的时候如果。考虑每条边的贡献即可。,以满足拓展欧拉定理。

2023-10-09 19:51:14 117

原创 【Codeforces】 CF1685C Bring Balance

所以需要找到第一个和最后一个满足。位置的前缀和会变成什么?首先观察数据可以发现答案。那么首先可以找到最小的。那么一个合法的操作区间。最大,所以这个值一定。所以我们的目标是找到。,直接判断是否合法即可。

2023-10-07 16:18:57 72

原创 【Luogu】 P5643 [PKUWC2018] 随机游走

树上随机游走可以想到树上高斯消元,所以开始推式子。集合中任意一点的期望步数(后面省略。容斥的式子是一个子集卷积,直接。,式子过于复杂,写了可能也看不清。也可以过题,时间复杂度为。集合中任意一点的期望步数。的系数除过去即可得到。

2023-10-04 16:22:04 106

原创 20230922 比赛总结

考场降智,没想到拆分成2α5βx的形式,一直在卡精度(thx anti)

2023-10-04 14:15:06 115

原创 【Luogu】 P3206 [HNOI2010] 城市建设

且有一个非常重要的性质是,我们在分治树上一层一层往下递归时,静态边是递减的,这样可以缩小问题规模。我们考虑到静态边的边集太大,考虑缩小范围,不难想到 答案加上必选边 和 删去无用边。我们提前加上必选边的贡献,且删去无用边之后,不难发现,静态边的个数是。我们需要把边划分成静态边和动态边。对于必选边,我们需要把它们缩点。然后不要忘记把除了删边其他的。中修改的边,其他边是静态边。考虑类似于线段树分治的做法。全部改成缩点之后的集合。动态边是当前分治区间。

2023-10-03 21:50:17 168

原创 图上问题训练题解

训练链接CF360E题目链接点击打开链接题目解法首先可以发现每条边一定是取 lll 或 rrr 左右,中间的值是没有用的我们不妨假设一开始所有边全部取 lll,然后自然地想到如果 dis0,x>dis1,xdis_{0,x}>dis_{1,x}dis0,x​>dis1,x​,,那么就把 x→yx\to yx→y 的边权改为 rrr(其中 dis0,xdis_{0,x}dis0,x​ 表示从 S1S1S1 到 xxx 的最短距离,dis1,xdis_{1,x}dis1,x​ 为从

2023-10-01 17:51:52 155

原创 20230929 比赛总结

时间花的太长了,很久不做图上问题,有些不熟练。

2023-09-30 23:21:52 53

原创 【Luogu】 P4649 [IOI2007] training 训练路径

然后考虑一个结论是:如果有一条边被两个偶环都经过了一次,那么这个方案不合法。考虑把这两条路径的交去掉这两条路径的并,剩下的是一个偶环。考虑把删边变为加边,需要加上权值和最大的边使得方案合法。首先一个合法的选路径方案等价于没有偶环出现。可以发现每个点的度数很小,于是考虑状压。我们先判掉和树边能组成偶环的非树边。的非树边,然后转移即可。这样只需要枚举每一条。

2023-09-30 17:16:11 739

原创 数学相关训练题解

为仍在答案集合中的数的个数,上面这个式子分类讨论然后自己分析一下不难理解。考虑每次删除数只会修改另一个序列中的当前位置,所以线段树只会修改。因为是多合一做法,所以时间复杂度需要一个一个单独算,我就不算了,的质因子是有用的,因为合数因子一定可以表示成多个质因子相加。,所以这道题我们可以套用那道题的做法,用同余最短路做。是可合并的,且需要支持修改,所以考虑用线段树维护。的条件不好办,所以我们考虑组合数逆用,可得。,因为可以按照二进制的位数分组,然后每组的。的直观想法是质因数分解,然后看次幂,但是。

2023-09-30 15:01:09 143

原创 【Codeforces】 CF917D Stranger Trees

可以发现保留的边数和连通块个数是可以对应的,所以接下来只对连通块考虑。,且每个点都有编号,则把它们构成生成树的方案数为。的组合意义,即在每个连通块中选出一个点的方案数。我们发现直接把上面的式子进行。所在连通块是否选过点的方案数。的时间复杂度分析,可以做到。转移比较好转移,根据背包。一个显然的转化是:恰好。这一部分的时间复杂度是。这里有一个结论是:如果。个连通块的大小分别是。,然后进行二项式反演。

2023-09-30 10:52:00 143

原创 20230928 比赛总结

一开始感觉时间复杂度不够,后来还是冲了,发现很快。

2023-09-29 22:57:32 180

原创 20230925 比赛总结

感觉有点降智,一眼manacher,但很久才想到可以二分,然后就转化成了一个区间最大值问题。

2023-09-25 21:19:49 76

原创 组合计数训练题解

CF40E题目链接点击打开链接题目解法首先,如果 n,mn,mn,m 一奇一偶,那么答案为 000原因是从行和列的角度分析,−1-1−1 个数的奇偶性不同可以发现 k<max⁡{n,m}k<\max\{n,m\}k<max{n,m} 的性质很微妙,把它转化为有用的信息,即为:令 n>mn>mn>m,则必有一行为空可以发现,除了空行,其他所有行只需在满足行乘积为 −1-1−1 的情况下随便填,然后令空行满足列的限制即可我们需要考虑空行在满足列的限制的情况下

2023-09-23 19:49:15 131

原创 dp训练题解

把网格分成 4 个区域)的状态互不影响,所以可以通过一些判断计算出来,这个不难计算。基环树无非破环为链,然后先考虑子树内的距离和,然后再考虑环上其他子树的贡献。,那么异或和始终唯一,充分性我只会感性理解,可能可以通过构造的方式得出。行是一个关键行,因为上下异或都需要用到它,所以考虑状压这一行前。考虑一个结论:一个网格可以通过任意次操作得到,当且仅当。这个结论感性理解是好理解的,必要性是如果翻了。的网格状态,就可以确定其他网格的状态。是不够的,可以考虑用时间来代替空间。这样可以把空间优化掉一半,就可以过了。

2023-09-23 19:29:18 101

原创 【Atcoder】 [ABC284G] Only Once

下面有一个妙妙的思路是:对于每一行来说价值和是等价的,所以不妨只计算。连边,那么这样会形成一棵内向基环树,那么。号点在所有情况下的价值和,然后将答案。号点到环的距离与环的大小之和,记其为。号点走到的第一个重复的点,即为。直接计算即可,时间复杂度。首先一个显然的转化是从。

2023-09-23 10:06:55 53

原创 【Codeforces】 CF587F Duff is Mad

看到字符串出现次数的题,首先想到建立。但是空间有些开不下,所以可以调小块长。我们需要计算一个前缀中的字符串在。很好的一道题,让我对根号分治及。树上一直往上跳,然后再。对应点的子树内,然后累加。考虑糅合两个做法:根号分治。现在可以得到 2 种暴力。自动机有了更深的理解。的字符串,用做法 1。的字符串,用做法 2。

2023-09-17 16:56:08 87

原创 【Codeforces】 CF914F Substrings in a String

考虑从前往后遍历查询字符串,然后只要把之前匹配的结果往后移一位,然后。又学会了一种字符串匹配 + 骗分技巧!考虑询问的字符串的总长度只有。当前字符的出现位置即可。有些边界情况需要特判。

2023-09-17 12:00:19 75

原创 【Atcoder】 [ARC141D] Non-divisible Set

的时候是有解的,否则无解(还有一些无解条件是不能得到所有的奇数。考虑满足条件的形式是什么,即对于。的形式的所有数中,只能选出。的奇怪限制,可以得到对于。个,且必须选出一个,因为。举例,只要从大到小枚举。(确实有数的出现的范围)

2023-09-15 15:55:53 84

空空如也

空空如也

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

TA关注的人

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