
距竞赛:05天 14:55:47

距竞赛:05天 14:55:47

竞赛正在进行中

竞赛训练计划
更多 >热门讨论
更多 >- 1


互动|最近遇到过的离谱小事
互动|😓 你最近遇到过的离谱小事 嗨,AC狗友们,生活有时候比段子还离谱 比如: * 去机房做作业,电脑开机三次蓝屏三次,第四次它自己更新了半小时。 * 老师说这道题很简单,像呼吸一样自然。结果他自己讲了四十分钟还没讲完。 * 在数学课睡过1800秒 不管多小的事,只要你觉得离谱、好笑、无语、神奇,都欢迎来分享。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 🎯 怎么参与? 在评论区写下你最近遇到的一件真实发生的离谱小事。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 🎁 奖励 活动截止后(符合评论要求的): * 评论点赞前5名 → 每人 罐头 × 50 * 随机抽取5人 → 每人 罐头 × 20 ⏰ 时间 即日起 至 2026年5月5日 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 💬 快来评论区说说:你最近遇到了什么离谱小事? (越真实越好笑,越离谱越有奖) 往期互动
- 2


互动|分享你用AI干过的“神级操作”
互动|分享你用AI干过的“神级操作” hi,AC狗友们 AI时代,连懒人都能开挂!写作业、做笔记、催队友、编曲……今天,它全包了! 玩法超简单: 在评论区,分享一个你用AI干过的“神级操作” —— 越实用越欢迎,越“又懒又爽”越好! 举个栗子: * 把老师60页PPT变成3句重点+10道押题:“我用了30秒,AI用了0.3秒。” * 把乱哼的旋律变成一首完整的Lo-fi beats:“现在它是我的学习背景音,比白噪音还上头。” 你可以写: * AI帮你“偷懒”的真实操作 * 一个离谱但实用的AI用法 * AI把你的某个日常变宝的故事 奖励 活动截止,评论区符合参与条件的留言 点赞TOP5 每人获得:罐头 × 50,@༺ཌༀ我要上浙大ༀད༻,@Michael,@拉巴巴小魔仙(布),@全站的狗子我嘴最臭(慕温),@Zorange(ZC) 幸运奖5名 每人获得:罐头 × 20,@(百小1."QYM".4育才)回,@(百小1."QYM".4育才)回,@樱桃指挥官(互关)(加团),@???,@寻道·渊·天道主宰 ⏰ 时间 即日起至 2026年4月20日 分享一个你用AI干过的“神级操作”,越实用越欢迎! 往期互动
- 3

期中考试怎么样?!
主包今天刚刚考完期中考,很疑惑为什么要在兴奋激动期待的春假来临之前举行一次生死肉搏……嗯对老师这个批卷的速度也是很快好吧,成功获得 语文37(满分四十,只考阅读),数学95,英语100科学28(满分三十只考实验)的好成绩了哈哈哈哈可以过个好假期啦。宝宝们都肿模样呢,欢迎打评论区哦
- 4


【学习笔记】随机游走优化 dp
感觉是比较冷门的技巧() 点击这里获得更卡哇伊的阅读体验 引入 > 一个数轴,初始有一个点在 000 位置。现在这个点会移动 nnn 次,每一次有 12\frac1221 的概率点从 xxx 移动到 x+1x+1x+1,另外 12\frac1221 的概率点从 xxx 移动到 x−1x-1x−1。问移动完 nnn 次之后 ∣x∣|x|∣x∣ 的期望值是多少。 上述问题的答案不超过 O(n)O(\sqrt n)O(n ) 级别。下面给出一个简单的证明: 直接计算 E[∣x∣]E[|x|]E[∣x∣] 比较复杂。考虑先放缩一下,计算出 E[x2]E[x^2]E[x2] 的值,然后就可以直接得到 E[∣x∣]≤E[x2]E[|x|]\le \sqrt{E[x^2]}E[∣x∣]≤E[x2] 。 记第 iii 步 xxx 移动的决策是 pip_ipi (也就是 xxx 在第 iii 次操作中移动到了 x+pix+p_ix+pi 位置)。则显然有 x2=(p1+p2+…+pn)2x^2=(p_1+p_2+\ldots+p_n)^2x2=(p1 +p2 +…+pn )2,也就可以得到 E[x2]=∑i=1nE[pi2]+2∑i=1n∑j=i+1nE[pipj]=n+2∑i=1n∑j=i+1nE[pipj]E[x^2]=\sum\limits_{i=1}^nE[p_i^2]+2\sum\limits_{i=1}^n\sum\limits_{j=i+1}^nE[p_ip_j]=n+2\sum\limits_{i=1}^n\sum\limits_{j=i+1}^nE[p_ip_j]E[x2]=i=1∑n E[pi2 ]+2i=1∑n j=i+1∑n E[pi pj ]=n+2i=1∑n j=i+1∑n E[pi pj ]。又因为决策之间是两两独立的,所以直接分类 pi,pjp_i,p_jpi ,pj 的取值分别算期望,可以得到 E[pipj]=0E[p_ip_j]=0E[pi pj ]=0,也就得到了 E[x2]=n⇒E[x]≤O(n)E[x^2]=n\Rightarrow E[x]\le O(\sqrt n)E[x2]=n⇒E[x]≤O(n )。 现在在上面的问题上扩展,考虑另外一个与其相似的问题: > 一个数轴,初始有一个点在 000 位置。现在这个点会移动 nnn 次,每一次有 12\frac1221 的概率点从 xxx 移动到 x+1x+1x+1,另外 12\frac1221 的概率点从 xxx 移动到 x−1x-1x−1。问移动完 nnn 次后,xxx 移动到的全部 n+1n+1n+1 个位置中绝对值最大的点的期望值是多少。 解决完上一个问题之后容易猜测答案还是 O(n)O(\sqrt n)O(n ) 级别的。下面给出一个证明: 设随机游走位置为 S0=0,Sk=ξ1+ξ2+⋯+ξkS_0=0,S_k=\xi_1+\xi_2+\cdots+\xi_kS0 =0,Sk =ξ1 +ξ2 +⋯+ξk ,其中每个 ξi\xi_iξi 有 12\frac1221 的概率为 111,另外 12\frac1221 的概率为 −1-1−1。为了方便,记 Mi=maxj=0i∣Sj∣M_i=\max\limits_{j=0}^i|S_j|Mi =j=0maxi ∣Sj ∣ 即前 iii 次移动中距离原点最远的距离是多少。 因为 MnM_nMn 是非负整数,所以 E[Mn]=∑t≥1Pr(Mn≥t)\mathbb E[M_n]=\sum_{t\ge1}\Pr(M_n\ge t)E[Mn ]=∑t≥1 Pr(Mn ≥t)。 所以只要我们能证明 Pr(Mn≥t)≤Ce−ct2/n\Pr(M_n\ge t)\le C e^{-c t^2/n}Pr(Mn ≥t)≤Ce−ct2/n,把这个式子对 ttt 求和,就会得到 E[Mn]=O(n)\mathbb E[M_n]=O(\sqrt n)E[Mn ]=O(n )。 事件 Mn≥tM_n\ge tMn ≥t 的意思是:在前 nnn 步里,曾经到过 ttt 或者 −t-t−t。所以 Pr(Mn≥t)≤Pr(max0≤k≤nSk≥t)+Pr(min0≤k≤nSk≤−t) \Pr(M_n\ge t) \le \Pr\Bigl(\max_{0\le k\le n}S_k\ge t\Bigr) + \Pr\Bigl(\min_{0\le k\le n}S_k\le -t\Bigr)Pr(Mn ≥t)≤Pr(max0≤k≤n Sk ≥t)+Pr(min0≤k≤n Sk ≤−t)。 由于对称性,这两项相等,因此有:Pr(Mn≥t)≤2Pr(max0≤k≤nSk≥t)\Pr(M_n\ge t)\le 2\Pr\Bigl(\max_{0\le k\le n}S_k\ge t\Bigr)Pr(Mn ≥t)≤2Pr(max0≤k≤n Sk ≥t)。 现在用一维随机游走最经典的“反射法”结论:Pr(max0≤k≤nSk≥t)≤2Pr(Sn≥t)\Pr\Bigl(\max_{0\le k\le n}S_k\ge t\Bigr)\le 2\Pr(S_n\ge t)Pr(max0≤k≤n Sk ≥t)≤2Pr(Sn ≥t),结合一下就可以得到 Pr(Mn≥t)≤4Pr(Sn≥t)\Pr(M_n\ge t)\le 4\Pr(S_n\ge t)Pr(Mn ≥t)≤4Pr(Sn ≥t)。 此时又因为 Sn=ξ1+⋯+ξnS_n=\xi_1+\cdots+\xi_nSn =ξ1 +⋯+ξn 是 nnn 个独立 ±1\pm1±1 的和,所以它的方差是 nnn,标准差是 n\sqrt nn 。更进一步,SnS_nSn 有高斯型尾估计:Pr(Sn≥t)≤e−t2/(2n)\Pr(S_n\ge t)\le e^{-t^2/(2n)}Pr(Sn ≥t)≤e−t2/(2n),因此 Pr(Mn≥t)≤4e−t2/(2n)\Pr(M_n\ge t)\le 4e^{-t^2/(2n)}Pr(Mn ≥t)≤4e−t2/(2n)。 结合一开始得到的式子,有: E[Mn]=∑t≥1Pr(Mn≥t)≤∑t≥14e−t2/(2n)\mathbb E[M_n]= \sum_{t\ge1}\Pr(M_n\ge t)\le\sum_{t\ge1}4e^{-t^2/(2n)}E[Mn ]=t≥1∑ Pr(Mn ≥t)≤t≥1∑ 4e−t2/(2n) 而这个和的量级就是 n\sqrt nn 。最简单的看法是把它和积分比较: ∑t≥1e−t2/(2n)≤∫0∞e−x2/(2n)dx=n∫0∞e−u2/2du=Cn\sum_{t\ge1}e^{-t^2/(2n)} \le \int_0^\infty e^{-x^2/(2n)}{dx}= \sqrt n\int_0^\infty e^{-u^2/2}du= C\sqrt n t≥1∑ e−t2/(2n)≤∫0∞ e−x2/(2n)dx=n ∫0∞ e−u2/2du=Cn 所以有 E[Mn]≤4Cn\mathbb E[M_n]\le 4C\sqrt nE[Mn ]≤4Cn 。于是得到最终结论: E[Mn]=O(n)\boxed{\mathbb E[M_n]=O(\sqrt n)} E[Mn ]=O(n ) 事实上,可以继续收紧上下界得到 E[Mn]∼πn2\mathbb E[M_n]\sim\sqrt{\frac{\pi n}2}E[Mn ]∼2πn ,但是我不会证,而且在实际题目中并不需要这么紧的上界,因此这里直接给出一个由 ChatGPT 5.4 Thinking 给出的证明过程: :::info[证明过程] 设随机游走的过程为: S0=0,Sk=∑i=1kξi,Pr(ξi=1)=Pr(ξi=−1)=12,S_0=0,\qquad S_k=\sum_{i=1}^k \xi_i,\qquad \Pr(\xi_i=1)=\Pr(\xi_i=-1)=\frac12, S0 =0,Sk =i=1∑k ξi ,Pr(ξi =1)=Pr(ξi =−1)=21 , 题目要求的是 Mn:=max0≤k≤n∣Sk∣M_n:=\max_{0\le k\le n}|S_k|Mn :=max0≤k≤n ∣Sk ∣ 的期望 E[Mn]\mathbb E[M_n]E[Mn ]。 1. 先写成尾和公式 因为 MnM_nMn 是非负整数值随机变量,所以: E[Mn]=∑m≥1Pr(Mn≥m).\mathbb E[M_n]=\sum_{m\ge1}\Pr(M_n\ge m). E[Mn ]=m≥1∑ Pr(Mn ≥m). 而 nnn 步最多走到距离 nnn,所以实际上: E[Mn]=∑m=1nPr(Mn≥m)\boxed{\mathbb E[M_n]=\sum_{m=1}^n \Pr(M_n\ge m)} E[Mn ]=m=1∑n Pr(Mn ≥m) 也就是: E[Mn]=∑m=1n(1−Pr(Mn<m))\boxed{\mathbb E[M_n]=\sum_{m=1}^n \Bigl(1-\Pr(M_n<m)\Bigr)} E[Mn ]=m=1∑n (1−Pr(Mn <m)) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 2. 精确公式 事件 Mn<mM_n<mMn <m 就是“前 nnn 步始终没有碰到 ±m\pm m±m”,也就是随机游走在区间 −m+1,−m+2,…,m−1{-m+1,-m+2,\dots,m-1}−m+1,−m+2,…,m−1 内存活到第 nnn 步。 这是经典吸收随机游走,谱分解可得: Pr(Mn<m)=1m∑j=0m−1(−1)jcot(2j+1)π4m,(cos(2j+1)π2m)n.\Pr(M_n<m) = \frac1m\sum_{j=0}^{m-1} (-1)^j \cot\frac{(2j+1)\pi}{4m}, \Bigl(\cos\frac{(2j+1)\pi}{2m}\Bigr)^n. Pr(Mn <m)=m1 j=0∑m−1 (−1)jcot4m(2j+1)π ,(cos2m(2j+1)π )n. 因此: E[Mn]=∑m=1n[1−1m∑j=0m−1(−1)jcot(2j+1)π4m,(cos(2j+1)π2m)n].\boxed{ \mathbb E[M_n] = \sum_{m=1}^n \left[ 1- \frac1m\sum_{j=0}^{m-1} (-1)^j \cot\frac{(2j+1)\pi}{4m}, \Bigl(\cos\frac{(2j+1)\pi}{2m}\Bigr)^n \right]. } E[Mn ]=m=1∑n [1−m1 j=0∑m−1 (−1)jcot4m(2j+1)π ,(cos2m(2j+1)π )n]. 这就是这个期望的一个标准精确表达式。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 3. 渐近结果 当 n→∞n\to\inftyn→∞ 时,有经典极限定理: Mnn ⟹ sup0≤t≤1∣Bt∣\frac{M_n}{\sqrt n}\ \Longrightarrow\ \sup_{0\le t\le 1}|B_t| n Mn ⟹ 0≤t≤1sup ∣Bt ∣ 其中 BtB_tBt 是标准布朗运动。并且该极限随机变量的期望是: E[sup0≤t≤1∣Bt∣]=π2\mathbb E\Bigl[\sup_{0\le t\le 1}|B_t|\Bigr] = \sqrt{\frac{\pi}{2}} E[0≤t≤1sup ∣Bt ∣]=2π 所以: E[Mn]∼πn2\boxed{\mathbb E[M_n]\sim \sqrt{\frac{\pi n}{2}}} E[Mn ]∼2πn 也就是主项约为: E[Mn]≈1.253314n.\mathbb E[M_n]\approx 1.253314\sqrt n. E[Mn ]≈1.253314n . ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 4. 对比一下末位置 注意这不是最后位置 ∣Sn∣|S_n|∣Sn ∣ 的期望。后者是 E∣Sn∣∼2nπ,\mathbb E|S_n|\sim \sqrt{\frac{2n}{\pi}},E∣Sn ∣∼π2n ,,而这里取的是全过程的最大绝对值,所以更大,主常数变成了 π2\sqrt{\frac{\pi}{2}}2π 。 5. 最终结论 精确值: E![max0≤k≤n∣Sk∣]=∑m=1n[1−1m∑j=0m−1(−1)jcot!(2j+1)π4m,(cos!(2j+1)π2m)n].\boxed{ \mathbb E!\left[\max_{0\le k\le n}|S_k|\right] = \sum_{m=1}^n \left[ 1- \frac1m\sum_{j=0}^{m-1} (-1)^j \cot!\frac{(2j+1)\pi}{4m}, \Bigl(\cos!\frac{(2j+1)\pi}{2m}\Bigr)^n \right]. } E![0≤k≤nmax ∣Sk ∣]=m=1∑n [1−m1 j=0∑m−1 (−1)jcot!4m(2j+1)π ,(cos!2m(2j+1)π )n]. 渐近值: E![max0≤k≤n∣Sk∣]∼πn2\boxed{ \mathbb E!\left[\max_{0\le k\le n}|S_k|\right] \sim \sqrt{\frac{\pi n}{2}}} E![0≤k≤nmax ∣Sk ∣]∼2πn ::: 解决问题 考虑用上面给出的 trick 解决一道经典题目! 题目给出的六边形网格不太好处理,因此容易想到把这个东西压扁,将六个方向修改为上,下,左,右,右上,左下。此时容易想到直接 dp。设 fi,x,y,j,kf_{i,x,y,j,k}fi,x,y,j,k 表示当前处理了前 iii 个 idea,L=j,G=kL=j,G=kL=j,G=k,当前网格的横坐标是 xxx,纵坐标是 yyy,是否是可行的状态。 考虑优化这个 dp。可行性 dp 通常有下面两种优化方法: * 把一维状态写到答案里。 * 用 bitset 优化。 这个问题看着很不能把状态写到答案里,因此考虑用 bitset 优化。发现 yyy 这个 dp 维度其实就是在做一次循环移位操作,用 bitset 优化可以让时间复杂度除一个 www,但是仍然难以通过。 考虑利用上面的 trick。注意到最后需要让所在的位置 (x,y)(x,y)(x,y) 回到 (0,0)(0,0)(0,0),而上面的 trick 在更高维度上也同样满足距离 (0,0)(0,0)(0,0) 的曼哈顿距离期望为 O(n)O(\sqrt n)O(n ) 级别。因此考虑直接随机打乱输入的 idea 顺序,此时对于距离原点超过 O(n)O(\sqrt n)O(n ) 的位置,其很大概率是可以被不超过 O(n)O(\sqrt n)O(n ) 的位置所替代的,因此只需要处理 x,y∈[−O(n),O(n)]\boldsymbol{x,y\in[-O(\sqrt n),O(\sqrt n)]}x,y∈[−O(n ),O(n )] 的部分,范围以外的 dp 值直接截断处理即可。此时算法的时间复杂度被优化到 O(n2p2w)O(\frac{n^2p^2}w)O(wn2p2 ),卡常后可以通过该题。 :::success[代码] 因为作者不太会卡常所以目前只有用 C++98 提交才能通过/kel ::: 练习 > 给定一个 nnn 个结点的树,每条边都有边权(边权可能为负)。你需要选择若干条有 444 条边组成的简单路径(可以不选),使得没有一条边被超过一条路径覆盖。问所有被路径覆盖的边的边权的和最大是多少。 > > 数据范围:2≤n≤2×1052\le n\le 2\times 10^52≤n≤2×105。 考虑一个暴力的 dp 做法。设 fi,0/1/2/3f_{i,0/1/2/3}fi,0/1/2/3 表示当前只处理 iii 结点为根的子树,iii 结点没有挂长度不为 444 的链 / 在子树里挂了一条长度为 1/2/31/2/31/2/3 的链,边权之和最大是多少。转移过程需要合并儿子结点的 dp 信息,考虑再记一个 dp 数组辅助转移:设 gi,0/1g_{i,0/1}gi,0/1 表示当前合并了若干个儿子结点的信息,其中儿子结点里长度为 000 的链比长度为 222 的链多 iii 条,长度为 111 的链数量 mod 2=0,1\bmod\ 2=0,1mod 2=0,1,边权和最大是多少(只记录这些信息是因为子树内合并链只能是长度为 0,20,20,2 的链对应匹配,长度为 111 的链单独匹配)。此时合并信息是简单的。 直接做转移时间复杂度为 O(n2)O(n^2)O(n2)。注意到辅助转移的 ggg 数组中 iii 维度维护的是两类儿子结点的链的差值,而一个儿子结点只能有最多一条连向父亲结点的链,最后可以转移到 fff 数组里的 ggg 也只有 g−1,∗,g0,∗,g1,∗g_{-1,*},g_{0,*},g_{1,*}g−1,∗ ,g0,∗ ,g1,∗ 三类。因此考虑把长度为 000 的链看作 111,长度为 222 的链看作 −1-1−1,则可以看作是在数轴上做随机游走,打乱儿子结点顺序后 gig_igi 这个维度只需要维护 O(n)O(\sqrt n)O(n ) 个 iii 的信息即可。此时算法的时间复杂度优化到 O(nn)O(n\sqrt n)O(nn ),可以通过该题。 :::success[代码] :::
- 5

旅游攻略(浙江嘉兴平湖)
1.东湖/明湖必去!!!夏天还有西瓜灯节(明湖)!🍉🍉🍉 2.李叔同纪念馆门口有鸽子!可以喂! 3.美食推荐:新仓小鲁苏,粽子(嘉兴),踏(ta)饼,西瓜😋😋 4.平湖博物馆:很漂亮,还有不定时活动!! 5.西瓜乐园:适合小朋友去! 6吾悦广场:平湖最好逛的商城!有海底捞,电影院,肯德基,蜜雪冰城…… 7还有银泰、八佰伴、大润发(不是特别好玩,3日游不推荐) (欢迎投稿!!!)
- 6

以梦为马,以汗为泉,期中考试,策马扬鞭!
震惊我一万年 有生之年居然还可以上榜!!!(两天就上榜,啥实力) 震惊我两万年 第九啦!(三天就第九,啥实力我不多说) 震惊我十万年 第八啦!(bushi)15分钟前还是第10,14分钟前到第9了,没想到这么快就第8了哈哈哈 震惊我十一万年 评论破百! (点赞率好浪漫) 震惊我二十万年 榜七啦! 震惊我三十六万年 bushi今天早上还榜10的下午直接榜6了 内容保密(出发点开的 点进来的跳过这一部分) 文章介绍 因为快期中考试了,我之前看见很多人写 CSP−S\mathtt{CSP-S}CSP−S 等比赛的游记,我考了CSP-J但忘记写游记了,但作为一个学生,我要写一个期中考试的小游记。 文章背景 俺是一个初一的学生,期中考试为期两天,如下 第一天 第二天 语文 数学 政治 地理 英语 生物 历史 以及俺前面的成绩(格式:得分/总分/级部1000人的排名) 10月月考 11月期中 12月月考 1月期末 数学 105/120 220 111/120 180 85/100 230 109/120 190 英语 95/100 27 119/120 3 91/100 30 111/120 20 语文 72/100 380 95/120 260 74/100 390 101/120 10 历史 74/80 3 73/80 27 72/80 80 71/80 50 地理 93/100 50 70/80 80 71/80 90 70/80 90 生物 71/80 100 67/80 140 66/80 370 64/80 200 政治 79/100 290 64/80 270 39/80 590 60/80 380 还能看 到这里都是2026年4月22日写的,下面才是正文部分 2026年4月22日 考试前夕 得知明天就要开始的我: OS:怎么这么快就要考试了?!我都还没怎么背呐!!! 我回家赶紧背了一晚上政治,因为我政治一坨(详见“俺前面的成绩”部分) 最后还搜了几个考试玄学 4 9 2 3 5 7 8 1 6 (以上都是2026年4月22日写的)(震惊我一万年不是4月22日写的) 2026年4月23日 考试的第一天 语文 8:00~10:00 刚发下卷子,我可能是太开心了吧,也有可能是太急了居然只用了 111 分钟写完了看拼音写汉字&选择&古诗默理解性默写,(我没记错我还看了时间做完古诗默写才 8:018:018:01 !),但是我有两个空的古诗看都没看过,惨丢 222 分。 我又用了 111 分钟写完了课外古诗词理解,但有一个题好像空着了没涂答题卡,又惨失 333 分。 不过还行,我认认真真的做完了文言文阅读,除了翻译题不太确定可能会扣 111 分别的答的还挺好,在 8:268:268:26 做完了第一张卷子,并用 888 分钟的时间涂了答题卡。 第一篇阅读还算可以,我答的都比较满,不过概括题 444 分我只答了 222 条,不知道会不会扣分,然后最后一个启示题答的有点怪怪的,用了 181818 分钟,在 8:528:528:52 做完这篇阅读。 第二篇阅读我先答的赏析题,答的特别慢 and 横线给的特别少,我直接懵了…… 不是我在卷子打的草稿有 555 条结果答题卡只有两条横线? 不过我最后也是成功写下来了好吧 第二篇阅读耗费的时间是在太长了用了整整 363636 分钟,我写作文的时候一看已经 9:289:289:28 了还有 323232 分钟收卷,我要在这短短的 323232 分钟里完成构思作文+写作文+检查前面的题+写一写自己空的题,但是我连作文都够呛能写完,于是我赶紧构思作文。 我考前押了一篇作文是“班长给我送伞”的文章,当然我们班班长是我自己但是夸咱自己实在是太写的出手了哈哈哈,而且我看我们区 201820182018 年到 202520252025 年都考的这篇作文(写陌生人的,我的那篇就是写刚开学“我”和班长不认识但是一个暴雨天我给我送伞的古诗)。结果一上考场发现是写《我发现了不一样的自己》 bushi啥音?我准备的那篇作文有一大段写的是被送伞的我的感受,我直接炸了…… 但我灵机一动改成了我给小孩送伞我可太聪明了哈哈哈 到感悟的那段我把为党和人民做贡献编了编写上去了,考完我差点让自己笑死…… (以上是2026年4月23日写的) 政治 10:20~11:20 这次考试居然提前发卷,我竟然在考试时间 444 分钟之前写完了第一面选择题(没错,10:2010:2010:20 开考,我 10:1610:1610:16 已经做了一面了) 第二面写着写着,突然发现有一个广告(bushi啥音),内容如下: “胖东来”坚持严把商品品质,始终做到货真价实,更以“不满意就退货”的实在举措来对待每一位顾客,用真诚与担当赢得人心,成为零售行业有口皆碑的标杆。可见,胖东来崛起的原因是() Emm……但是这家超市就在我们小区东门门口啊(我们小区正对的学校的北门),这不纯纯宣传吗? 第一张卷子全部做完之后我一看表,居然才 10:2110:2110:21!也就是说我刚开考 111 分钟就写完了整张卷子的 121 \over 221 ? 我太厉害啦哈哈哈哈哈哈 接下来就是奇迹时刻: 我在开考后的 333 分钟内答完了全部的选择题 在开考后的第 444 分钟填涂完的所有选择题的涂卡 猎奇的来了,我被第一道大题卡住了,完全不知道怎么答……因为我日常背的不太熟练,但是抄选择题又怕错,最后东拼西凑写出来了,但是耗费了我整整 151515 分钟(二战转折点)! 更猎奇的来了,我下一道大题也是东拼西凑,我感觉我打得还挺快但是也用了 888 分钟。然后第三道大题我用了 666 分钟,还行,其实也有点长…… 没想到再这样的绝境下我迎来了转机(实际是回光返照了):第四道大题我做过原题!!! 然后我竟然只用了 222 分钟就写完了这道大题(bushi) 我满怀信心的看向第五道大题,发现我压根儿不会!我思考了整整 777 分钟最后因为时间不够选择直接过掉,结果没答完卷,自然也没回来补,痛失 666 分!!! 第六个答题我依然不会但我还有点头绪,蒙了一大堆,感觉能得个 111 分(准确来说是痛失 333 分) (就这样持续到作文) 政治论文我没时间写了,只写了观点和“论证”以及冒号,能得 333 分顶天了,考完直炸了…… (以上是2026年4月24日写的) 英语 1:30~3:30 发下来卷子的时候我直接震惊了:不是三张大卷正反满满当当的题出题组你想咋滴? 但我不慌不忙,听力第一大题不仅不慌不忙做完题还抽空把听力原文默写出来了(从小学用到现在初一的绝活),大致展示一下这个大题的听力原文: Listen the question and choose the correct answer, we will say twice every sentences. 我无语了卷子上写的中文听力的时候非要用英语作解释,就害怕我们把题目解释听成第一题是吧出题官? One. What's your favorite animal? Two. Can I bring food to classroom? Three. How often do you play soccer? Four. Would you like some juice or coffee? Five. Let's order some salad! 听力一共有四个大题,第一大题太简单了(我说实话是个人都能全对),第二大题也挺简单的,第三四大题听原文排序我感觉挺简单的但我们班有不少人说听力播的太快了说的是啥都没听懂(bushi) 笔试部分第一大题依旧非常easy(for me)。这次居然还有一个考韵点的但是不难。 笔试第二大题是完形填空直接秒了,第一张卷子就这么被我KO了。 下一题是A篇阅读,也是简简单单直接秒了,做完一看时间 1:481:481:48,才开考 181818 分钟,这说明了啥? 这说明我在 181818 分钟内做完了:15道听力选择题+5道听力排序题+默写了5道听力题的原文+10道选择题+10道完形填空+一篇阅读 bushi我让我自己的速度震惊到了 然后我愈战愈勇,到 303030 分钟后的 2:182:182:18 ,我已经又做完了:阅读选择+阅读短文极限七选五+10道语法填空+两篇长阅读理解 此时我有点困小睡一会睡到 2:402:402:40 嘻嘻 然后我开始构思作文却没想到作文草稿我居然能打到 3:073:073:07 最关键的是答题卡给的空间压根儿不够我写的,最后我删减了一些在 3:183:183:18 答完卷子 (感觉英语稳了) 这波也是直接让我重拾信心了好吧 历史 正在写…… 结束语 感谢大家在繁忙的生活中抽出几分钟来看我的帖子,谢谢🙏 此处特别感谢用户@prediction指出的markdown语法瑕疵和用户@铭程dsg(关我必回)提醒的已上升到榜九 内容 编写时间 文章介绍 2026年4月22日 文章背景 2026年4月22日 考试前夕 2026年4月22日 语文考试 2026年4与23日 政治考试 2026年4月24日 英语考试 2026年4月25日 (震惊万年是2026年4月24日写的) (震惊两万年是2026年4月25日写的) 持续更新中…… 关注我,点个赞吧!谢谢
- 7


#Github#目前的状态
预告: 大家好,我是孤砂小白,这是目前我的网站链接别想了,目前我还在加工 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 我的构思:
- 8

GESP
嗯对大家GESP(有做过弊吗)。。 其实想问这个。但是不知道会不会被删帖。。 依旧细节句号好吧。。
- 9


#创作计划#浅谈 AVL 树和红黑树-1
警告:五年级以上看不懂可能无法进 NOIP @YHZ@YHZ@WCQK@WCQK@STARS_SEEKER@STARS_SEEKER > 请不要发布无意义评论,否则会删评。若发布大量发布类似“qp”“ddd”等评论也会删,发布一次无所谓 > 本篇讲一些前置知识,有点杂,排版和内容可能不是很好,语文也很差,请见谅。由于时间较为零碎,完成不知道要几个世纪了 前言(跳过本部分并不影响您阅读): 先说一下我为啥写这个,AVL 树在 OI 中似乎啥用没有。但是我觉得学起来挺有意思的,对学红黑树或许有那么一丁点的帮助(?)。就当巩固一下平衡树再提升一下思维吧。 为啥我觉得指针比数组更看得懂呢🤔 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 概览 因为 ACGO 这边的同学知识面普遍较浅,我就讲的稍稍前面一点,但是总不可能让我给你讲输入输出的对吧。二叉树基础(指针),BST,平衡树的旋转操作,Treap(或许并没什么关联)。写的浅一点。鉴定为想水一篇精华帖。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 二叉树基础 或许并没什么好讲的,但是因为我偏爱指针而且大部分人都不写指针我就来讲一下(吧)。 首先我们建立一个结构体,用于储存二叉树节点的信息,如下: 其中 Treenode(int v):val(v),l(nullptr),r(nullptr){} 是构造函数。我们每创建一个新的节点,调用这个构造函数就可以“初始化”这一节点。这里的作用是将该节点的值初始为 vvv,左右孩子指针初始为空。 接下来建立一个指针数组,用于存储指向节点 iii 的指针。 这里根据实际情况选择是否需要。像后文所讲的 AVL 树就不需要。 然后是输入,这里的输入方式是每行给出节点 iii 的左右孩子,若为 000 则代表它没有孩子。 前序遍历:顺序为根,左,右,递归即可: 中序遍历:顺序为左,根,右 后序遍历:顺序为左,右,根 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 二叉搜索树(BST) 觉得有点跑题了赶紧回来 首先我们了解一下 BST 的基本概念。BST 是一种特殊的二叉树,满足以下性质: 1. 空树为 BST 2. 若左子树不为空,则左子树的所有节点权值小于根节点 3. 若右子树不为空,则右子树所有节点权值大于根节点 4. 二叉搜索树的所有子树均为二叉搜索树 看着很麻烦,但是你先别急。实现起来真的很简单。 节点结构体 不多赘述.具体请参考注释。 插入 主要是个判断,大概这样: 首先,如果与当前节点值相等:计数器加一,返回 如果小于当前节点:有左孩子,递归左孩子;否则新建节点 如果大于当前节点:有右孩子:递归右孩子;否则新建节点 别忘了增加子树大小。 查询前驱——小于 VALVALVAL 的最大数 和插入差不多,因为二叉搜索树保证了 左子树<根节点<右子树。根据这条性质我们可以轻松实现查询前驱的功能。具体实现请参考代码注释。 查询后继 和前驱一样的,只不过反了一下,参考注释即可。不多赘述。 删除 棍木 查询第 K 小 也是递归实现,若在左子树则递归左子树,在当前节点则直接返回,当在右子树的时候记得减去左子树和当前节点的数量。 查排名 因为二叉搜索树的性质是左子树 <<< 根节点 <<< 右子树,所以当找到目标值,排名就是左子树的大小。若目标在右子树,则为右子树的查询结果加上左子树大小、当前节点值重复的数量。 完整代码就不放了。那么这样我们就得到了一个朴实无华的 BST 代码。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 平衡树的旋转与平衡调整 使我的节点旋转 旋转是平衡树维持平衡的一个重要方法。它可以在不违反二叉搜索树的性质下降低树高。这里我们来讲左旋(zag)和右旋(zig)。 右旋 先来讲右旋,其实你学完右旋就能直接推出左旋了。 下面给出两幅图,各位可以进行理解。分别是对于节点 A 的右旋前和右旋后的: 仔细观察,我们可以发现,对于节点 A 的右旋就像是把他的左孩子“提”起来,事实上我们只改变了三个节点的链接关系: 1. 将 A 的右孩子 C 的右孩子指针指向 A,将 A 的父指针指向 C; 2. 将 A 的左孩子的右孩子的父指针指向 A; 3. 将 A 的左孩子指针指向 A 的左孩子的右孩子。 那么这个时候我们的右旋操作就结束了。[1] 左旋 本质上和右旋是一样的,就是把右旋的操作反了一下。这里不多赘述。具体参考代码实现。 那么在学完左右旋之后我们来学习如何调整平衡树的平衡。这里介绍四种情况。 LL 型 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 鸣谢 用户 ID 帮助 ID:519007 帮助修改大量格式问题,/bx ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 1. 为什么这里要说“A 的左孩子的右孩子”而不直接说“C 的右孩子”?因为在实际代码中,我们是通过当前节点,也就是我们现在所指的 A 节点来进行旋转操作,只是间接的经过左孩子节点也就是我们现在说的节点 C。这样子写代码会更好理解点。不过本质上没啥区别。 ↩︎
- 10


愚人节限定互动|假如报错信息学说人话
愚人节限定:假如报错信息学会说人话 hi,AC狗友们,愚人节要到了,连编译器都在开玩笑!CE、WA、RE……,它们不装了! 🎯 玩法超简单: 在评论区,给任意一个报错状态“写一句内心独白”,让它变得有梗、有戏、有灵魂。 举个栗子🌰: * CE(编译错误):“兄弟,你分号呢?我等你等了三千年。” 你可以写: * 报错的“真实OS”(内心戏) * 报错和代码的“对话” * 报错给你发的“微信消息” 🎁 奖励 活动截止,评论区符合参与条件的留言 点赞TOP5每人获得:罐头 × 50 @Minecraft,@橙子同学,@༺ཌༀ我要上浙大ༀད༻,@天之神_†赛伊德†,@AC君 随机抽取5人,每人获得 罐头 × 20 @(百小1."QYM".4育才)回,@虚无·和平精英,@WeiChenrui,@不喜欢抢钱的抢铁抢段,@ZYC的Best friend ⏰ 时间 即日起至 2026年4月8日 💚 来吧,让那些折磨过你的报错,今天替你“说话”! 往期互动























