2026 四川省算法普及活动游记

· · 生活·游记

全是在记流水账。

初赛

2026-3-28。

尝试阅读题目。嗯,选择题十分的正常,哎不对,顺序表是什么东西……等等好像就是数组。为什么选择题最后一道我不会做啊,感觉我的排列组合可以回炉重造了。

继续做。感觉阅读程序第一题和第二题都是不是给人做的搜索,先跳过看看 T3,是一个 ST 表状物,不对这个查询是什么东西。继续阅读尝试看懂代码,容易发现出题人是在使用 ST 表做区间乘积问题,感觉简直太对了,出题人肯定是不会乘法逆元。哇,居然选项还有高级的莫队,这玩意和 ST 表平替是什么鬼。

然后开阅读程序 T1,好吧,非常简单,我应该尝试克服我的递归恐惧症。做完了之后开始看 T2,发现是一个记搜,哎不对你直接从 1n 递推不就行了吗……也是非常快的秒掉了。

开完善程序。T1 是什么贪心板子,怎么会这么简单,我是不是走进小低组的考场了。检查一下考场没有问题。T2 这个是二分和 DP 的一个结合体,先尝试阅读,发现一次 DP 就可以做完了啊,看起来 €€£ 四川省委想要证明自己会实数二分和整数二分,你真棒。还是没有多久做完了。T3 简直是一个 dijkstra 板子,€€£ 四川省委,你对于最短路的执念有这么大吗,Dijkstra 是

做完了所有题之后发现还剩下大概 0.5h,使用暴力枚举全排列做出来选择题最后一道题。

感觉可以过初赛吧。

最后分数 75.5,初赛一等奖。不知道是挂哪里了。我这个全校唯三参赛的蓝√中的一个居然只得了全校第七,果然我没有蓝√的实力。

复赛

day -1

星期六,学校由于中考放假,故上午将 whk 作业补完之后下午坐上了到 CD 的慢车。

在车上,首先发现 BM66 出了,看看看。虽然也大概忘了具体是啥了。接着就在 B 站上随机翻东西,翻到了一个维多利亚 3 的诡异反清复明视频,然后就这样在车上颓了 4 个多小时。最后想要再看一遍代码的那些板板也没有看。虽然但是实际上没有考板子,所以影响不大。

大概是晚上 7 点才吃上饭的。在吃饭期间,居然与失散多年的同学重聚了,当时是稍微有一点感动的。

然后回到酒店之后考虑手机连线 npy,结果被同学发现了,呜呜呜。虽然他并不认识我 npy,所以我担心个啥\oh。但是被发现之后就不敢在微信上继续聊天了。于是单曲循环东南苦山行制裁同学。

day 0

正赛环节。个人感觉题目质量并不高,果然,省赛就是省赛。我认为复赛最有意义的一点就是去参观了 CD 历史古老的石室中学。

大概说一下打比赛的节奏吧。

目前已经看到了我通过了多少道题目,可以发现是 4 道。符合预期。目前估分100+100+100+100+32+70=502谁家强力胶。

最后挂飞了,100+100+100+100+4+40=444

我的天哪,T5 居然没有 SPJ,0 个人通过。大众分 4 分。T6 也是当上大常数选手了……怎么只有 40……

喜提一个四川省 TOP10。

附录

1

DCOI 合影。感谢同学的 P 图。

2

给出六道题简要的题面。

::::info[T1] 有 5 种奖品。现在有 n 个人参加了比赛,成绩为 a_1, a_2, \ldots, a_n。奖品发放规则如下:

假设这个人有 x 分(0\leq x\leq 600),那么奖品按照下面规则发放:

求各种奖品最多发放多少个。1\leq n\leq 10^5。 ::::

::::info[T2] 你现在得到了一个长度为 n 的整数序列 a_1, a_2, \ldots, a_n。对于这个序列的一轮变换定义为:

对于每一个数,都可以将其 \times 2 或者除以 3。但是,必须要有一个数被除以 3

求你最多可以进行多少轮变换。1\leq n\leq 10^5, 1\leq a_i\leq 10^9。 ::::

::::info[T3] 你需要在银行里取钱,但是银行的取钱规则如下:

假如你想要取出 x 元,你最少需要取几次?有多组询问。整数序列最多有 10 项,1\leq m\leq 10^5。 ::::

::::info[T4] 给定一个 1\sim n 的排列,判断其能否从序列 1, 2, 3, \ldots, n 通过若干次变换得到。

一次变换即选择一个任意的 i,将序列的第 i 项和 i+k 项交换。1\leq k\leq n\leq 10^5。 ::::

::::info[T5] 给定你 n1\sim 30 的卡牌,用加、减、乘、除凑 24 点。输出格式如下:输出一个合法的表达式,用 ABCD 字母来表示数字。

例如 \{25, 1, 1\} 这组的一个合法结果为 (A*B)-C。有多组测试数据。1\leq T\leq 100, 1\leq n\leq 6 ::::

::::info[T6] 给定一个数列,有一些数的值确定,另一些没有。对于每一个数字,有一个给定的 b_i,其意义如下:

求有多少种可能的序列。 ::::