- 博客(66)
- 收藏
- 关注
原创 2025牛客暑期多校训练记录
【省流版】I 题是正解却被卡常的,H 是比赛结束后 2s 以后过的……【Zlw】上来先开始看 E,看到平方差想到化成 (a+b)(a−b)(a+b)(a-b)(a+b)(a−b) ,但是一开始以为是质数不合法。不过后面细想一下发现分奇偶考虑,(a+b),(a−b)(a+b),(a-b)(a+b),(a−b) 奇偶性要相同,然后就能得到答案了。【Scy】G 题题意有点迷惑,看了一遍仍然没懂,于是让 zlw 先开始敲题,趁着他卡住了一下的间隙签到完毕。【*】前两题在 16/18 min 的时候通过。【Z
2025-07-15 20:15:03
2094
原创 2025-2026 XCPC
本赛季由 sunchaoyi\color{purple}\texttt{sunchaoyi}sunchaoyi,jr_zlw\color{orange}\texttt{jr\_zlw}jr_zlw,Skyzhou\color{purple}\texttt{Skyzhou}Skyzhou 组队,全靠大佬带飞~。中文队名:正在验证该队是否是真人。英文队名:Verifying we are human.备战省赛,也是组队后的第一次训练。这一场签到题比较多,一小时以内按顺序过了 A,I,C,D,K。接下来我和 Sk
2025-05-02 22:57:42
1525
2
原创 2025 CCPC 重庆站
于是聚集了餐券,直接去食堂消费一波(买完想吃的以后,全部用来进货面包了),然后合了个影,回宾馆休息了。结果发现第一本的模板 version 1.0 里没有,然后第二本的在最后一页,但是貌似之前打比赛的时候疑似不小心被扯掉了,就是缺了这一页(((,于是只能手动对拍。歇了一会儿,到晚上去洪崖洞附近吃了火锅,然后走上大桥远观洪崖洞,还是被 6D 城市略微震惊了一下,导航的定位一直在飘,所以走错了好几次。先来签到,白嫖了个水杯,领了物资,但是没有啥好的伴手礼。发现第三题做过了,悄悄掏出手机贺了一下过题的代码。
2025-11-30 17:47:20
899
原创 题解:CF2110F Faculty
的情况时才会使得答案变得不确定,而这种情况最多只会有。次,因此直接暴力更新即可,总时间复杂度。接下来考虑对于任意前缀长度为。的最大值里一定有一个数取到。的答案是怎么取到的。,因此可以证明前缀长度为。从最简单的情况考虑,当。不失一般性的,我们设。
2025-11-26 14:11:24
328
原创 2025 ICPC 南京站
休息了一会儿我去南大找我的初中同学玩,有点远,地铁做了一个多小时,运气不好还下雨了。在校园里随便逛了逛以后就去吃饭了,吃烤鱼,聊天的过程中顺便了解一下他们的课程(由于专业相近,所以还白嫖了个计算机系统基础的课程链接),羡慕南大有这么好的课程体系安排!然后我第一反应是直接列出所有情况,疯狂敲 if 然后 WA,冷静了一下直接循环枚举所有情况,然后又 WA,瞪了好久才发现有一个。讲题,发现 G 题可以将两个参数分离,于是就可以简单贪心了,懊悔怎么没想到,但是转念一想过了也 Au 不了,又感觉还好(bushi。
2025-11-10 11:51:46
877
7
原创 2025 ICPC 武汉站
队友还要考试,那和我有什么关系?果断一人周五早上出发。12:00 起飞,原来预计 2 个多小时的路程,结果 13:30 就到了。刚在飞机上看了会儿离散的卷子,吃了点东西提示要降落了。不过差评的是竟然没有主食,只发鸡肉肠大 main 包,饿死我了连吃两个勉强吃饱。下了飞机发现到达层和出发层在一起?纠结了很久,最终还是坐 2 号线兜兜转转的来到了酒店(本来想先去玩玩的,但是想着有行李,顺便还得给手机充个电)。歇了会儿先去吃了碗热干面,豪赤😋!
2025-11-04 14:46:12
758
2
原创 题解:CF2143E Make Good
接下来尝试构造出合法序列。一个重要的观察是,如果有两个相邻的相同括号,那么它们可以被同时移动到任意处。且默认均变为一种类型的括号。由于左右括号可以相互变化,因此只需要统计相邻的相同括号总数,设为。由于每次要翻转两个括号,所以。简单构造题,但赛时被 D 卡了……为奇数肯定无解,直接特判。
2025-09-19 23:06:34
217
原创 题解:CF2144E Looking at Towers
因此需要用能够实现区间乘,单点加,单点查询的数据结构维护,直接上线段树即可。首先在 E1 的基础上可以滚动数组优化。其次,再次观察可以发现,每次的转移其实只是可根据与。的,相当于继承原有的值,不做任何处理即可。最后的答案,显然只需要将。当统计答案时,需要小心重复计算的情况。选不选均可,否则需要强制选,则有转移。若能够取等,则这一单点相当于可以从。不选这个最大值,则对答案的贡献为。时候的值存下来,单点查询就能满足。为全局最大值时,强制让。考虑转移,对于当前的数。在之前已经被选择,则。的,相当于进行区间乘。
2025-09-16 12:57:59
892
原创 题解:CF2134E Power Boxes
操作可以确定该位置上的值。位置上的值必定已知。首先考虑出在什么情况下在位置。开始扔球时会进行的次数。操作,形成新的关系必定满足。位置上值未知的情况。在每个位置上操作有且仅有。的值,防止出现错误!最后来证明操作数不超过。写的时候需要注意,在。
2025-08-27 21:13:01
765
原创 题解:CF1453D Checkpoints
步的距离到达下一个存档点,所需的期望步数。的形式,类似二进制拆分进行构造即可。提供一种直接基于期望推表达式的做法。为偶数,所以奇数的情况显然无解。表示从一个存档点开始,还剩。,之后需要重新开始,共走。表示走一步成功的概率,
2025-08-06 17:40:28
412
原创 题解:CF2129C Interactive RBS
因此,当方向未确定时,我们将询问的序列正反拼接,得到有无左右括号的信息。一旦在某次询问中得知存在左右括号,直接花费额外的一次询问定方向。其实方法很多,适合手玩,用上 substring 这个条件,尽量构造不对称括号序列即可。如果接着从上一节的询问出发,直接赋值询问序列,会发现情况并不会显著增长,原因就是受到相互影响。为二分找到的左/右括号位置,以第一个为例子,查询的写法为。接着上一节的想法,尝试构造互不影响的序列。注意,如果剩下未确定的数量是奇数,需要特殊考虑。的形式出现,因此需要正反各询问一次。
2025-08-01 11:12:15
1061
原创 题解:CF1010C Border
看成定值,由裴蜀定理可知上式有解当且仅当。形式化一下题意,就是求使得下式成立的。均为正数,可以在计算时直接去掉负号。为定值,因此移项可得。的变式,有解当且仅当。
2025-07-27 16:43:00
284
原创 题解:CF2120E Lanes of Cars
完全是多余的,可以通过数组来替代,但需要小心清空与去重的问题。仔细分析以后,可以发现这是一个凸函数,因此考虑三分答案。具体来说,可以枚举哪些队伍的车辆会减少/增加。若现在考虑会减少的队伍的车辆,给。考虑增加的队伍的车辆同理,用 STL 来写会简单一点。根据贪心,不难想到每次会把最长队伍末尾的那辆车移动到最短队伍的末尾。于是三分挪动车辆的数量才是最优的。的存在,会导致一些冗余移动的存在。排序后,设当前最长队伍的车辆数为。,此时会产生新的队伍长度,也就是。的影响,有些队伍的长度虽然。是排队所产生的怒气值,
2025-06-29 10:54:06
868
原创 题解:CF2121H Ice Baby
就可以保持原来的数字不变,相当于区间加一。最后的答案就是全局最大值。又因为值域较大,需要先进行离散化操作。最后,我们可以得到线段树优化到。按照官方题解的思路可以用 multiset 优化到。,线段树维护最大值即可。
2025-06-26 14:34:10
871
原创 【题解】[UTPC2024] C.Card Deck
由于放入袋中后会进行补位,也就是说我们并不关心补进来的是哪一张真正的原始牌,当进行第。轮之后所有可能的袋子里牌所组成的集合的大小之和。考虑进行转化,只考虑前。,表示这张牌永远不会被放入袋子中,否则表示这张牌会在第。因此可以对每一张牌单独计算贡献。原题的模型是每一步可以选择顶部。,则这张牌出现在集合里的次数为。的牌都已经放入袋中,总共有。张牌,每张牌都有一个属性。张牌等价,所以最后的答案为。(可以为空)放在袋中,求。轮后袋子里的数,最后求。,下证明两个模型等价。
2025-06-07 23:46:19
644
原创 题解:CF2107E Ain and Apple Tree
当这棵树为一条链时,答案取到最大值。证明很简单,假设存在一个节点。接下去证明该调整操作的可行性。显然,在不断操作后,连边所形成的链,之后考虑进行调整。能够改变答案的减少量为。改为直接相连,能够增大答案。,因此当有解时,总是存在一种调整方案。并代入得,该操作对答案的减少量为。因此假设不成立,命题得证。重复调整操作直至符合条件。个孩子节点,任取两个。若可以操作,则完成后。首先考虑无解的情况。
2025-05-07 13:48:28
848
原创 题解:CF2106G2 Baudelaire (hard version)
所有相邻的点加入集合中,通过二分法找到哪一个子结点与根距离最近。次询问之后就能找到根节点。最后进行一次 dfs 并询问即可求出答案。由 G1 可知,只要能确定根节点的位置,就能够用。因此,本题就需要在不超过。次的询问中获得根节点的位置。利用这个性质,可以先找到以。综上所述,至多需要约。
2025-04-25 15:42:02
543
原创 题解:CF2096F Wonderful Impostors
时,我们可以直接通过线段树维护区间最小值来判断合法性。但是最棘手的部分是当加入。的删减,用 multiset 处理单点,后上传到线段树上即可实现。线段树与二分的结合显然可以实现,但是总时间复杂度为。区间的询问均可合法。在处理询问时,转化为判断是否。,亲测会超时,故考虑线段树二分。那么现在的难点便是如何检验区间的合法性。,线段树维护最大值即可。,即可说明该操作的合法性。,则说明该时刻的情况不合法。区间的询问均合法,当加入。后,若区间不合法,则进行。的操作时,会影响到之前。因此,最后的时间复杂度为。
2025-04-23 09:44:42
518
原创 题解:CF886E Maximum Element
若最后求得的答案是正确的,我们只需要枚举。的状态考虑的是排列,但是显然我们只需要考虑数字之间的。,因此第一段的方案数是合理的。的排列得到正确的结果的方案数。的排列直到循环完也没有提前。所放置的位置,由于不会提前。,也就说明该数字所在的位置为。个数字,随意放置,也就是。正难则反,考虑长度为。,然后合法的方案数为。
2025-04-18 22:03:15
798
原创 题解:CF2092D Mishkin Energizer
进一步地,只要存在相邻两个字母不同,就可以花费一个操作变为万能串。每一步最多操作两次即可向着目标前进,故总次数不会超过。后,需要注意万能串最左侧的位置会增加。由于还需要记录路径,当。需求的写法最为简洁。
2025-04-02 15:33:26
382
2
原创 题解:CF98E Help Shrek and Donkey
使得每个人的选择都让对方无法猜透,更进一步来说,就是期望价值相等(如果画图,可以得到两条线存在非坐标轴处的交点)。由于后手选择相信,后手也就知晓了桌上的牌,因此下一次可以直接猜测这张牌而获胜。首先,在最优策略的条件下,在没有多余信息的情况时,先手不会主动去猜测,只会不断地尝试询问。由于后手选择不相信,相当于后手认为这张牌是先手的,因此先手胜。的概率问到后手手中的牌。的概率问到后手手中的牌。相当于后手知晓了先手的一张牌,先手无多余信息获得,收益为。后手认为这张牌是桌上的牌,因此后手无法获胜,收益为。
2025-03-26 19:53:36
969
原创 题解:CF2075E XOR Matrix
数组内的数任意选择两种,并枚举其中一种数的个数。用二项式定理进一步化简,最终可得到方案数为。数组内的数均只有一种,此时生成的异或矩阵只有一种取值,满足题目条件,方案数为。此时生成的异或矩阵有两种取值,仍然满足题目条件。注意到一个数组内的数的种类不可能大于。,于是大力分类讨论。
2025-03-20 12:29:31
594
原创 题解:CF2069F Graph Inclusion
由于存在动态的加边删边,不难想到时间戳的线段树分治。对于在某一张图的边,记录下出现时间和消失时间。与此同时,可以在并查集的合并时增加一个返回值,若形成一次有效的合并时,连通块的个数便会减少。注意,若一条边在加入之后一直存在,则该边在。中必同属于一个连通分量。因此,我们不难得出上述结论。由于并查集不能路径压缩,最后时间复杂度为。至于如何计算连通块的个数,初始值显然为。的连通块数量,我们可以先求解出。中属于同一个连通分量,那么在。,则由题目可知,该边在。对于一组询问,答案为。,然后在此基础上加入。
2025-02-24 22:51:01
1192
原创 题解:ABC394G Dense Buildings
作为该组询问的答案。检验的过程和单组询问大致相同,可以从高到低进行相邻块合并后检验连通性即可。考虑优化,不难发现各组询问直接相互独立,且可以离线操作,所以我们可以使用整体二分。仍然成立,那么我们就尝试将。,对于一次二分操作,若此时。
2025-02-23 20:53:53
967
原创 题解:CF2066C Bitwise Slides
但这样显然会有很多冗余的转移以及判断,考虑异或的性质去优化。数字过大,离散化或者直接用 map 即可。个数时,我们尝试将之前所有的有效状态的。尝试去异或,然后检测合法性。回顾一下题面,对于一个数字只能选择。的情况,其余直接继承。首先考虑暴力的转移,当枚举到第。中的一个去异或,那么处理完。转移共有三种方式,而由。不能两两互异,此时设。,故可能的有效状态为。
2025-02-15 17:10:30
668
原创 题解:CF2063F1 Counting Is Not Fun (Easy Version)
对括号进行编号,然后借助栈,当遇到未被添加括号的位置时,将贡献加在栈顶的括号对应的编号上,最后根据乘法原理求解即可。当有括号加入时,未被添加括号的位置的贡献不会超过最外层已匹配的括号。所有方案数均基于卡特兰数,不妨设。
2025-02-03 18:13:14
651
原创 【题解】CF1749F Distance to the Path
这条链上的点,也就是提示要用数据结构去维护。将单点数据的处理分为子树内与子树外两种情况进行分类讨论。对于在子树内的点,倘若是一段连续的区间,则可以利用数据结构一次更新完毕。的节点产生的影响被重复计算,直接进行容斥即可(需要减去的条件是距离超过。序,因此在查询答案时子树内的贡献即用差分的思想进行树状数组维护操作。,考虑将不等关系的信息存放在数组中,转换为最大距离。时每一个点产生的贡献。利用常数较小的树状数组,设。的点,此时不难分析出时间复杂度为。对于在子树外的点,显然都可以归结到。的节点产生影响,然后发现,
2025-01-15 20:00:00
928
原创 【题解 CF1650F】Vitaly and Advanced Useless Algorithms
有一个显然的贪心结论,就是先完成任务截止时间考前的,若在前面的都无法完成,那么后面的更加不可能完成。对于每个任务,需要用尽可能少地耗时完成尽可能多的百分比,每个计划的状态均为选或不选,这不就是。由于要输出方案,所以我们设二维状态,对于某个任务,设。则说明发生有效转移,记录此时的计划编号即可。,方案记录数组的初始化以及无解的判断。后将每个人物的方案汇总至总的方案数组即可。,其中有一个是继承上一次的状态。对于每个任务的方案记录,直接从。去记录会比较遍历,每一次。时的最小耗时,这里默认。个计划完成的百分率为。
2025-01-15 15:23:30
892
原创 【题解】P3176 [HAOI2015]数字串拆分
的重载,这时候原来的优先级已经不复存在,因此需要通过括号来处理顺序。位得到的所有情况的矩阵之和,因此最后的答案就会在。,这个递推式显然可以通过矩阵乘法进行优化。矩阵的初始化要小心,需要避免未定义行为。得到的矩阵,则有以下矩阵的递推(以。的计算不太好处理,等价转换以下令。由矩阵的乘法分配律可知。现在的复杂度为计算矩阵。
2025-01-14 10:00:00
1026
原创 题解【 [USACO22DEC] Circular Barn S】
现在将问题还原,对于某一格的数,如果是必败点,那么先手会尽量拖延时间,也就是说选择数使其能够经过尽可能多的轮数;,无论如何都是后手胜,所以为必败点。如果这时候你不知道如何去分析,可以尝试打出必败点的表(猜测必败点并不多),对于一个。,下同)开始判断,找到尽可能大的质数符合质数加上必败点的形式;那么以此类推,可知必败点为。为偶数,无论是必胜还是必败点,每次都只会取。与另一个比它小的必败点的形式,那么这个。,判断其是必胜点还是必败点即可。为必胜点,否则为必败点。其实这很好理解,由于。为最小的必败点,那么对于。
2025-01-13 17:00:00
1865
原创 【题解】CF575B Bribes
由题可知这是一棵树,因此求每一条边经过的次数可以通过树上差分解决。而现在只有部分(有向)边需要花费,因此就需要找到一种能够记录单向花费的信息。考虑到一条边连接的两个点因在树上而深度不同,所以可以分为叶子指向父节点与父节点指向叶子两种边。形象化地,第一种可以称为上行边,第二种称为下行边。首先通过树上差分,将信息分别储存在上行边的起点与下行边的中点。和差分数组还原每一条边经过的次数。最后统计答案,对于一条。需要花费的边,若是上行边,那么通过的次数记录在。
2025-01-11 15:00:00
860
原创 题解【CF59E Shortest Path】
同时该路径可以更新,那么加入队列中去并记录下前驱节点(用于路径的输出)。来记录同一个值的不同三元组,这样空间便可大大降低,可以通过此题。于是尝试用哈希来优化空间。大体思路相同,而这次用。本题对选择恰当的工具存储三元组有着较高的要求。进行广度优先搜索,记录一个点。虽然能过样例,可是……点的同时遍历后继节点。
2025-01-11 12:00:00
667
原创 【题解】CF509C Sums of Digits
在编写代码的时候,分类三种构造的函数。第一种是无条件限制,直接贪心填入。第二种是弱依赖,即需要补充多的部分的第一种情况。第三种便是需要较大改动的第二种情况,其中按照贪心进行填入的部分直接调用第一个函数即可。,往高位的方向均不变,往低位的方向重新排列。当然,往低位的方向的排列方式直接按照贪心的思路即可。如果全部遍历完也未出现可以填的,那么只能新开一位并填上。相较于前一个数,只需要把多的部分。按照贪心的思想去填入即可。的形式是最优的,即还原出的数形如。,然后剩下的按照贪心的思路即可。的位置,尝试将该位加。
2025-01-11 10:00:00
809
原创 题解:P9778 [HUSTFC 2023] 基因编辑
也就是说目前算法存在重复计算。考虑一个贪心的思想,若一个较长的子串中存在所需串,则只将标记打在较长串上而不是其中的较短的所需串,显然这样标记严格覆盖的。那么,结合差分的思想,设。在统计答案的时候,从长的串到短的串进行累积即可。但是问题并没有完全解决,手模第一个样例发现,的乘积,不难想到对前缀和后缀分别建立。将题意进行简单的转换,枚举。,然后再枚举其中的断点。因此只需要求出前缀为。
2025-01-10 18:00:00
480
原创 题解:P10701 [SNCPC2024] 致命公司
依次考虑子弹所在通道所需的凝视时间。对于第二个难点,只需再用一个数组记录通道已用的凝视的时间即可。那么对于第一个难点,可以对子弹出现的时间进行排序,为了使得凝视不会产生后效性,我们按照时间进行。题目的难点显然是如何分配凝视的时间于不同的通道,以及如何在一次凝视时将通道内的子弹进行标记。特别地,当所有子弹都在同一个通道时,永远都不会受到伤害,特判即可。看完题目后盲猜二分答案()。
2025-01-10 15:00:00
739
原创 题解:P10865 [HBCPC2024] Genshin Impact Startup Forbidden III
同时,由于一个炸弹只能影响到五个格子,所以我们可以预处理出不超过。每一位分离后,修改炸弹影响到的那些位置,然后再重新获得。个有鱼的格子中受到炸弹影响后的状态为。时,在某处放入一个炸弹,我们可以将。个可能会放炸弹的位置。条鱼,而所有有鱼的格子不超过。时所需要的最小的炸弹的数量。因此可以列出转移方程。,所以我们可以写一个。最后的时间复杂度约为。
2025-01-10 12:00:00
943
原创 题解:P10864 [HBCPC2024] Genshin Impact Startup Forbidden II
开始搜索的棋子,每到达一个未被访问到的同色棋子的块,就加入到集合中;每到达一个未被访问到的空位,就把该连通块的气的数目加一。直接在落子后暴力搜索计算出相邻的棋子所在块的气,最后在计算落子位置所在块的气。模拟围棋的落子过程,然后根据围棋的气来计算每一步落子后被提子的个数。当然强调了,每一步的落子没有限制,也就有可能。
2025-01-10 09:00:00
389
原创 题解:CF2039C2 Shohag Loves XOR (Hard Version)
区间即可(当然,官方解答的做法更加简洁,但是没看懂)。区间未检测,但可以充分利用。这个性质,我们循环判断。
2025-01-09 19:00:00
511
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅