NOIp-2023 Day -1 CSP-S 打炸了,压线进了 NOIp,希望不要再炸了。 但是初中生打好了也不给钩子诶,更何况很难打好吧/kk NOIp-2023 RP++ 之前在缺省源里面加了 505050 行 I love StayAlone & CCF,发现没什么用,于是感觉是因为 CCF 的原因,而不是 StayAlone 的原因,遂决定删除 CCF,改为 I love StayAlone。 Day 2023-11-13 游记
CSP-2023 Day -2 友链 Shunpower - CSP-S2023 游记:让我们不顾一切! StayAlone - CSP 2023 游记 Day -1 前言 彩笔一支,不知道今年会不会 AFO。 希望今年 tg 1= 吧,但是好像希望渺茫/kk 难受,最后能拿什么成绩就拿什么成绩吧,懒得去想了,越想越难受。。。 Day 8.26 省流:多校友谊赛炸了。 T1 没取模,76→6076 \to 6 2023-08-26 游记
AT_abc233_f [ABC233F] Swap and Sort 思路 一眼可以把两个可以交换的数之间建一条边,显然在一个连通块里面的元素可以两两之间交换。 由于是排列,每一个元素 iii 最终的位置是 iii。 考虑将元素从小到大放置,令 adiad_iadi 表示当前 iii 元素的位置。 现在我们想让 iii 换到 iii 位置上,并且想使用最小的步数(因为有 5×1055 \times 10^55×105 的限制),那么在图上找到 iii 到 adia 2024-06-12 题解
CF1748C Zero-Sum Prefixes UPD 23.10.3 更新的对思路的描述,以及代码。 思路 对于每一个 ai=0a_i = 0ai=0,如果我们将它变为 xxx,都可以直接将 i∼ni \sim ni∼n 位置上的前缀和加 xxx。 设 aja_jaj 是 aia_iai 后第一个 000,那么,在 jjj 时同样有上述规律。 所以,我们只需在 iii 时考虑,i∼(j−1)i \sim (j - 1)i∼(j−1) 的 2024-06-12 题解
CF1774D Same Count One 思路 首先记所有 111 的数量为 numnumnum,那么显然有当 n mod num≠0n \bmod num \neq 0nmodnum=0 时无解。那么考虑有解的时候该怎么办。 显然对于每一个 aia_iai 序列中,最终 111 的数量为 numn\frac{num}{n}nnum,记作 ttt;并记 cnticnt_icnti 表示 aia_iai 序列中 111 的数量。 2024-06-12 题解
CF1878E Iva & Pav CF 是没题考了吧,每场都出二进制拆位。 思路 首先我们可以二分 rrr,因为 rrr 越大,按位与一定只会小于等于 rrr 小的情况。 那么,我们可以用 numi,jnum_{i,j}numi,j 记录 aja_jaj 第 iii 位的二进制情况。 如果我们对 numi,jnum_{i,j}numi,j 做一个前缀和,如果 numi,r−numi,l−1=r−l+1num_{i,r} - 2024-06-12 题解
CF1881G Anya and the Mysterious String 思路 发现如果一个字符串中有长度大于等于 222 回文子串,必定有长度为 222 的回文子串或长度为 333 的回文子串,并且形如:aa 和 aba。 所以考虑用线段树这两种情况。维护一段区间的最左、次左、最右、次右的元素,同时用两个标记变量 f1,f2f_1,f_2f1,f2 分别表示这个区间中是否出现形如 aa 和 aba 的子串即可。 Code 123456789101112131415 2024-06-12 题解
AT_abc263_d [ABC263D] Left Right Operation 思路 首先,不难发现最终的序列一定是形如下面的序列: l,…,l,ai,ai+1,…,ai+j,r,…r l,\dots,l,a_i,a_{i + 1},\dots,a_{i + j},r,\dots r l,…,l,ai,ai+1,…,ai+j,r,…r 那么,我们就可以将其分为三段,每段都单独维护。 首先,对于第一段,我们可以枚举出最后一个 lll 的位置 xxx,那么 2024-06-12 题解
AT_abc264_e [ABC264E] Blackout 2 思路 一道很经典的题,运用了一种叫「时光倒流」的技巧。 「时光倒流」本质上就是将所有删边(或删点)的操作,通过倒序循环求值的方式转化为加边(或加点)。 「时光倒流」具体实现通常伴随着并查集出现,维护一个连通块的某种性质。 首先,我们需要将所有从始至终没有删过的边加入并查集。在这里,我们的并查集不仅仅要维护某个点 iii 的祖先 fif_ifi,还要维护某个点 iii 所在的连通块是否有电,如果有 2024-06-12 题解
AT_abc267_f [ABC267F] Exactly K Steps 大家好,我是毒瘤,喜欢用玄学算法过题。 发现题解区没有这个做法,于是来发一篇。 思路 不难发现如果一个点对 (u,v)(u,v)(u,v) 的距离为 ddd,那么在这棵树以 uuu 为根时,vvv 的深度为 ddd。于是考虑换根 DP。 首先思考如何计算答案。显然我们可以将查询离线下来,然后当换根到以 uuu 为根时,将有关 uuu 的所有查询全部解决即可。 其次,发现当一个 vvv 转化成根时, 2024-06-12 题解