- 博客(74)
- 收藏
- 关注
原创 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
2196
原创 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
1787
2
原创 题解:CF2201B Recollect Numbers
而初始时不会出现这种情况,因此一次翻牌会消去一种牌或者记住这两张牌所对应的数字。根据贪心策略,一张牌在第一次翻到后就会被记住,因此第二次去翻它时一定进行消除操作。队友知道我喜欢做构造题,于是总是给我推各种构造。然而很不幸的是,这是一道大水题。题目给了一种贪心的翻翻牌策略,然后让你构造出一种方案使得恰好。一张牌最多只会被翻两次,并且第二次被翻到时一定会被消掉。一次翻牌操作如果没有消去任何的牌,那么就会使得数字为。的样例以后发现不对,可以尽可能的让一种牌翻。种能贴近下界构造,于是需要翻牌的次数为。
2026-03-07 18:01:15
179
原创 题解:P13722 [GCPC 2024] Geometric Gridlock
但是都以 T 形积木块起始,会导致出现连通,因此在行的扩展时需要注意翻转。为了尽可能的少分类,我们尝试出最小能够构造出的可扩展的。可以填,不满足两个相邻五连块类型不同的条件,故无解。由于以上两种情况在拼接时均不产生冲突,且。,因此可以通过以上两种情况扩展出所有合法的。由于每种都是五连块,显然最后总数应该为。首先来判断无解的情况。由于需要扩展,因此直接使用。的块进行如下构造即可,每行复制。为分类对象进行阐述与构造。的基本方案,不做过多阐述。的块构造即可,每行复制。情况相同,在最后一个。
2026-02-15 20:24:55
367
原创 题解:CF2196D Double Bracket Sequence
因此,首先对原序列做一次括号匹配,对于同一种类的括号,最终剩下的一定是形如。通过贪心思想,我们可以留下最左侧的左括号和最右侧的右括号,设下标分别为。但是这两种剩余括号是杂糅在一起的,一个最初的想法是不管类型,尝试尽可能的左右括号匹配(花费。不难发现,在原序列中就已经匹配的直接移除不会使得答案更劣,因为一个括号再花费。仔细思考可以发现,需要花费 2 代价的操作不会超过一次。的代价改变其中的一个括号)。代价完成剩余的匹配,而只有右括号在左括号前面,类似。个括号匹配,最后剩下的两个括号需要再花费。
2026-02-14 19:43:11
95
原创 2025 ICPC EC-Final 杭州站
EC Final 结束,也不知道明年会不会再打了。这一赛季,加训了很多,从网络赛到区域赛再到东亚大陆决赛,其实已经从数千只队伍中脱颖而出,虽然卡线很可惜,可是确实尽力了,这一路已经不容易了!(或许)下赛季还能体验一次 EC-Final 吧!
2026-02-02 22:13:16
781
原创 CS:APP Architecture Lab Report
Name SUNCHAOYITo fix the build error with older versions of GCC, you’ll need to add the to the compiler settings in , and .Change to . Then change to .Relative Tools :yas Y86 Assembleryis Y86 Instruction Set SimulatorPart Asum.ys\texttt{sum.ys}sum.ys
2026-01-05 21:07:15
100
原创 CS:APP Attack Lab Report
Name SUNCHAOYIUse the flag when running the target programs to avoid connecting to the grading server: / .First use to analyze the machine instructions of the target program.Analysis of the disassembly reveals the addresses of the key functions: , , and
2025-12-31 13:25:08
1034
原创 CS:APP Bomb Lab Report
Name SUNCHAOYIFirst use to get its assmebly. contains the password string. Use GDB’s command to display the string at that memory address:The Phase_1 answer is & If the value at the top of the stack is 1, jump to address . & & is set to point
2025-12-29 00:00:00
962
原创 2025 CCPC 重庆站
于是聚集了餐券,直接去食堂消费一波(买完想吃的以后,全部用来进货面包了),然后合了个影,回宾馆休息了。结果发现第一本的模板 version 1.0 里没有,然后第二本的在最后一页,但是貌似之前打比赛的时候疑似不小心被扯掉了,就是缺了这一页(((,于是只能手动对拍。歇了一会儿,到晚上去洪崖洞附近吃了火锅,然后走上大桥远观洪崖洞,还是被 6D 城市略微震惊了一下,导航的定位一直在飘,所以走错了好几次。先来签到,白嫖了个水杯,领了物资,但是没有啥好的伴手礼。发现第三题做过了,悄悄掏出手机贺了一下过题的代码。
2025-11-30 17:47:20
1059
原创 题解:CF2110F Faculty
的情况时才会使得答案变得不确定,而这种情况最多只会有。次,因此直接暴力更新即可,总时间复杂度。接下来考虑对于任意前缀长度为。的最大值里一定有一个数取到。的答案是怎么取到的。,因此可以证明前缀长度为。从最简单的情况考虑,当。不失一般性的,我们设。
2025-11-26 14:11:24
355
原创 2025 ICPC 南京站
休息了一会儿我去南大找我的初中同学玩,有点远,地铁做了一个多小时,运气不好还下雨了。在校园里随便逛了逛以后就去吃饭了,吃烤鱼,聊天的过程中顺便了解一下他们的课程(由于专业相近,所以还白嫖了个计算机系统基础的课程链接),羡慕南大有这么好的课程体系安排!然后我第一反应是直接列出所有情况,疯狂敲 if 然后 WA,冷静了一下直接循环枚举所有情况,然后又 WA,瞪了好久才发现有一个。讲题,发现 G 题可以将两个参数分离,于是就可以简单贪心了,懊悔怎么没想到,但是转念一想过了也 Au 不了,又感觉还好(bushi。
2025-11-10 11:51:46
1080
7
原创 2025 ICPC 武汉站
队友还要考试,那和我有什么关系?果断一人周五早上出发。12:00 起飞,原来预计 2 个多小时的路程,结果 13:30 就到了。刚在飞机上看了会儿离散的卷子,吃了点东西提示要降落了。不过差评的是竟然没有主食,只发鸡肉肠大 main 包,饿死我了连吃两个勉强吃饱。下了飞机发现到达层和出发层在一起?纠结了很久,最终还是坐 2 号线兜兜转转的来到了酒店(本来想先去玩玩的,但是想着有行李,顺便还得给手机充个电)。歇了会儿先去吃了碗热干面,豪赤😋!
2025-11-04 14:46:12
819
2
原创 题解:CF2143E Make Good
接下来尝试构造出合法序列。一个重要的观察是,如果有两个相邻的相同括号,那么它们可以被同时移动到任意处。且默认均变为一种类型的括号。由于左右括号可以相互变化,因此只需要统计相邻的相同括号总数,设为。由于每次要翻转两个括号,所以。简单构造题,但赛时被 D 卡了……为奇数肯定无解,直接特判。
2025-09-19 23:06:34
232
原创 题解:CF2144E Looking at Towers
因此需要用能够实现区间乘,单点加,单点查询的数据结构维护,直接上线段树即可。首先在 E1 的基础上可以滚动数组优化。其次,再次观察可以发现,每次的转移其实只是可根据与。的,相当于继承原有的值,不做任何处理即可。最后的答案,显然只需要将。当统计答案时,需要小心重复计算的情况。选不选均可,否则需要强制选,则有转移。若能够取等,则这一单点相当于可以从。不选这个最大值,则对答案的贡献为。时候的值存下来,单点查询就能满足。为全局最大值时,强制让。考虑转移,对于当前的数。在之前已经被选择,则。的,相当于进行区间乘。
2025-09-16 12:57:59
908
原创 题解:CF2134E Power Boxes
操作可以确定该位置上的值。位置上的值必定已知。首先考虑出在什么情况下在位置。开始扔球时会进行的次数。操作,形成新的关系必定满足。位置上值未知的情况。在每个位置上操作有且仅有。的值,防止出现错误!最后来证明操作数不超过。写的时候需要注意,在。
2025-08-27 21:13:01
782
原创 题解:CF1453D Checkpoints
步的距离到达下一个存档点,所需的期望步数。的形式,类似二进制拆分进行构造即可。提供一种直接基于期望推表达式的做法。为偶数,所以奇数的情况显然无解。表示从一个存档点开始,还剩。,之后需要重新开始,共走。表示走一步成功的概率,
2025-08-06 17:40:28
426
原创 题解:CF2129C Interactive RBS
因此,当方向未确定时,我们将询问的序列正反拼接,得到有无左右括号的信息。一旦在某次询问中得知存在左右括号,直接花费额外的一次询问定方向。其实方法很多,适合手玩,用上 substring 这个条件,尽量构造不对称括号序列即可。如果接着从上一节的询问出发,直接赋值询问序列,会发现情况并不会显著增长,原因就是受到相互影响。为二分找到的左/右括号位置,以第一个为例子,查询的写法为。接着上一节的想法,尝试构造互不影响的序列。注意,如果剩下未确定的数量是奇数,需要特殊考虑。的形式出现,因此需要正反各询问一次。
2025-08-01 11:12:15
1086
原创 题解:CF1010C Border
看成定值,由裴蜀定理可知上式有解当且仅当。形式化一下题意,就是求使得下式成立的。均为正数,可以在计算时直接去掉负号。为定值,因此移项可得。的变式,有解当且仅当。
2025-07-27 16:43:00
298
原创 题解:CF2120E Lanes of Cars
完全是多余的,可以通过数组来替代,但需要小心清空与去重的问题。仔细分析以后,可以发现这是一个凸函数,因此考虑三分答案。具体来说,可以枚举哪些队伍的车辆会减少/增加。若现在考虑会减少的队伍的车辆,给。考虑增加的队伍的车辆同理,用 STL 来写会简单一点。根据贪心,不难想到每次会把最长队伍末尾的那辆车移动到最短队伍的末尾。于是三分挪动车辆的数量才是最优的。的存在,会导致一些冗余移动的存在。排序后,设当前最长队伍的车辆数为。,此时会产生新的队伍长度,也就是。的影响,有些队伍的长度虽然。是排队所产生的怒气值,
2025-06-29 10:54:06
909
原创 题解:CF2121H Ice Baby
就可以保持原来的数字不变,相当于区间加一。最后的答案就是全局最大值。又因为值域较大,需要先进行离散化操作。最后,我们可以得到线段树优化到。按照官方题解的思路可以用 multiset 优化到。,线段树维护最大值即可。
2025-06-26 14:34:10
892
原创 【题解】[UTPC2024] C.Card Deck
由于放入袋中后会进行补位,也就是说我们并不关心补进来的是哪一张真正的原始牌,当进行第。轮之后所有可能的袋子里牌所组成的集合的大小之和。考虑进行转化,只考虑前。,表示这张牌永远不会被放入袋子中,否则表示这张牌会在第。因此可以对每一张牌单独计算贡献。原题的模型是每一步可以选择顶部。,则这张牌出现在集合里的次数为。的牌都已经放入袋中,总共有。张牌,每张牌都有一个属性。张牌等价,所以最后的答案为。(可以为空)放在袋中,求。轮后袋子里的数,最后求。,下证明两个模型等价。
2025-06-07 23:46:19
675
原创 题解:CF2107E Ain and Apple Tree
当这棵树为一条链时,答案取到最大值。证明很简单,假设存在一个节点。接下去证明该调整操作的可行性。显然,在不断操作后,连边所形成的链,之后考虑进行调整。能够改变答案的减少量为。改为直接相连,能够增大答案。,因此当有解时,总是存在一种调整方案。并代入得,该操作对答案的减少量为。因此假设不成立,命题得证。重复调整操作直至符合条件。个孩子节点,任取两个。若可以操作,则完成后。首先考虑无解的情况。
2025-05-07 13:48:28
869
原创 题解:CF2106G2 Baudelaire (hard version)
所有相邻的点加入集合中,通过二分法找到哪一个子结点与根距离最近。次询问之后就能找到根节点。最后进行一次 dfs 并询问即可求出答案。由 G1 可知,只要能确定根节点的位置,就能够用。因此,本题就需要在不超过。次的询问中获得根节点的位置。利用这个性质,可以先找到以。综上所述,至多需要约。
2025-04-25 15:42:02
574
原创 题解:CF2096F Wonderful Impostors
时,我们可以直接通过线段树维护区间最小值来判断合法性。但是最棘手的部分是当加入。的删减,用 multiset 处理单点,后上传到线段树上即可实现。线段树与二分的结合显然可以实现,但是总时间复杂度为。区间的询问均可合法。在处理询问时,转化为判断是否。,亲测会超时,故考虑线段树二分。那么现在的难点便是如何检验区间的合法性。,线段树维护最大值即可。,即可说明该操作的合法性。,则说明该时刻的情况不合法。区间的询问均合法,当加入。后,若区间不合法,则进行。的操作时,会影响到之前。因此,最后的时间复杂度为。
2025-04-23 09:44:42
542
原创 题解:CF886E Maximum Element
若最后求得的答案是正确的,我们只需要枚举。的状态考虑的是排列,但是显然我们只需要考虑数字之间的。,因此第一段的方案数是合理的。的排列得到正确的结果的方案数。的排列直到循环完也没有提前。所放置的位置,由于不会提前。,也就说明该数字所在的位置为。个数字,随意放置,也就是。正难则反,考虑长度为。,然后合法的方案数为。
2025-04-18 22:03:15
825
原创 题解:CF2092D Mishkin Energizer
进一步地,只要存在相邻两个字母不同,就可以花费一个操作变为万能串。每一步最多操作两次即可向着目标前进,故总次数不会超过。后,需要注意万能串最左侧的位置会增加。由于还需要记录路径,当。需求的写法最为简洁。
2025-04-02 15:33:26
409
2
原创 题解:CF98E Help Shrek and Donkey
使得每个人的选择都让对方无法猜透,更进一步来说,就是期望价值相等(如果画图,可以得到两条线存在非坐标轴处的交点)。由于后手选择相信,后手也就知晓了桌上的牌,因此下一次可以直接猜测这张牌而获胜。首先,在最优策略的条件下,在没有多余信息的情况时,先手不会主动去猜测,只会不断地尝试询问。由于后手选择不相信,相当于后手认为这张牌是先手的,因此先手胜。的概率问到后手手中的牌。的概率问到后手手中的牌。相当于后手知晓了先手的一张牌,先手无多余信息获得,收益为。后手认为这张牌是桌上的牌,因此后手无法获胜,收益为。
2025-03-26 19:53:36
985
原创 题解:CF2075E XOR Matrix
数组内的数任意选择两种,并枚举其中一种数的个数。用二项式定理进一步化简,最终可得到方案数为。数组内的数均只有一种,此时生成的异或矩阵只有一种取值,满足题目条件,方案数为。此时生成的异或矩阵有两种取值,仍然满足题目条件。注意到一个数组内的数的种类不可能大于。,于是大力分类讨论。
2025-03-20 12:29:31
610
原创 题解:CF2069F Graph Inclusion
由于存在动态的加边删边,不难想到时间戳的线段树分治。对于在某一张图的边,记录下出现时间和消失时间。与此同时,可以在并查集的合并时增加一个返回值,若形成一次有效的合并时,连通块的个数便会减少。注意,若一条边在加入之后一直存在,则该边在。中必同属于一个连通分量。因此,我们不难得出上述结论。由于并查集不能路径压缩,最后时间复杂度为。至于如何计算连通块的个数,初始值显然为。的连通块数量,我们可以先求解出。中属于同一个连通分量,那么在。,则由题目可知,该边在。对于一组询问,答案为。,然后在此基础上加入。
2025-02-24 22:51:01
1217
原创 题解:ABC394G Dense Buildings
作为该组询问的答案。检验的过程和单组询问大致相同,可以从高到低进行相邻块合并后检验连通性即可。考虑优化,不难发现各组询问直接相互独立,且可以离线操作,所以我们可以使用整体二分。仍然成立,那么我们就尝试将。,对于一次二分操作,若此时。
2025-02-23 20:53:53
987
原创 题解:CF2066C Bitwise Slides
但这样显然会有很多冗余的转移以及判断,考虑异或的性质去优化。数字过大,离散化或者直接用 map 即可。个数时,我们尝试将之前所有的有效状态的。尝试去异或,然后检测合法性。回顾一下题面,对于一个数字只能选择。的情况,其余直接继承。首先考虑暴力的转移,当枚举到第。中的一个去异或,那么处理完。转移共有三种方式,而由。不能两两互异,此时设。,故可能的有效状态为。
2025-02-15 17:10:30
699
原创 题解:CF2063F1 Counting Is Not Fun (Easy Version)
对括号进行编号,然后借助栈,当遇到未被添加括号的位置时,将贡献加在栈顶的括号对应的编号上,最后根据乘法原理求解即可。当有括号加入时,未被添加括号的位置的贡献不会超过最外层已匹配的括号。所有方案数均基于卡特兰数,不妨设。
2025-02-03 18:13:14
686
原创 【题解】CF1749F Distance to the Path
这条链上的点,也就是提示要用数据结构去维护。将单点数据的处理分为子树内与子树外两种情况进行分类讨论。对于在子树内的点,倘若是一段连续的区间,则可以利用数据结构一次更新完毕。的节点产生的影响被重复计算,直接进行容斥即可(需要减去的条件是距离超过。序,因此在查询答案时子树内的贡献即用差分的思想进行树状数组维护操作。,考虑将不等关系的信息存放在数组中,转换为最大距离。时每一个点产生的贡献。利用常数较小的树状数组,设。的点,此时不难分析出时间复杂度为。对于在子树外的点,显然都可以归结到。的节点产生影响,然后发现,
2025-01-15 20:00:00
957
原创 【题解 CF1650F】Vitaly and Advanced Useless Algorithms
有一个显然的贪心结论,就是先完成任务截止时间考前的,若在前面的都无法完成,那么后面的更加不可能完成。对于每个任务,需要用尽可能少地耗时完成尽可能多的百分比,每个计划的状态均为选或不选,这不就是。由于要输出方案,所以我们设二维状态,对于某个任务,设。则说明发生有效转移,记录此时的计划编号即可。,方案记录数组的初始化以及无解的判断。后将每个人物的方案汇总至总的方案数组即可。,其中有一个是继承上一次的状态。对于每个任务的方案记录,直接从。去记录会比较遍历,每一次。时的最小耗时,这里默认。个计划完成的百分率为。
2025-01-15 15:23:30
920
原创 【题解】P3176 [HAOI2015]数字串拆分
的重载,这时候原来的优先级已经不复存在,因此需要通过括号来处理顺序。位得到的所有情况的矩阵之和,因此最后的答案就会在。,这个递推式显然可以通过矩阵乘法进行优化。矩阵的初始化要小心,需要避免未定义行为。得到的矩阵,则有以下矩阵的递推(以。的计算不太好处理,等价转换以下令。由矩阵的乘法分配律可知。现在的复杂度为计算矩阵。
2025-01-14 10:00:00
1045
原创 题解【 [USACO22DEC] Circular Barn S】
现在将问题还原,对于某一格的数,如果是必败点,那么先手会尽量拖延时间,也就是说选择数使其能够经过尽可能多的轮数;,无论如何都是后手胜,所以为必败点。如果这时候你不知道如何去分析,可以尝试打出必败点的表(猜测必败点并不多),对于一个。,下同)开始判断,找到尽可能大的质数符合质数加上必败点的形式;那么以此类推,可知必败点为。为偶数,无论是必胜还是必败点,每次都只会取。与另一个比它小的必败点的形式,那么这个。,判断其是必胜点还是必败点即可。为必胜点,否则为必败点。其实这很好理解,由于。为最小的必败点,那么对于。
2025-01-13 17:00:00
1898
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅