:root { --bg-color: #ffffff; --text-color: #333333; --header-bg: #f5f5f5; } .night-mode { --bg-color: #1a1a1a; --text-color: #e0e0e0; --header-bg: #2d2d2d; } body { background: var(--bg-color); color: var(--text-color); } .header { background: var(--header-bg); }

【OI 档案-2025】北京 MX 集训日记

刷题情况

7.28:五黄两绿,七题。
7.29:两黄六绿一蓝,九题。
7.30:一橙六绿五蓝,十二题。
7.31:四绿一蓝,五题。
8.1:十绿六蓝,十六题。
8.2:一紫,一题。(当天有模拟赛,没时间)
8.3:一紫,一题。(当天下午号被封了)
8.4+:号没了,无法记录。

Day 0

买了 7.26 下午 17:46 的 D2 火车票,卧铺,从始发站长沙开往终点站北京。

家里两个老人为我送行,他们四处打听了一个上午,终于摸清了路线,但很可惜,下午全忘了。

重新再问一遍。

两个人问话和行为彰显了外地人的典型特征,加上不识字,所以略显滑稽。

最终,跌跌撞撞来到长沙火车南站。然后,就真要送行了,之后就没人陪伴了……在火车上漫长的旅程,都由我一人独自度过……嘿嘿~

手机充电线没带,呜呜呜……

还有电脑!分个流量消不了多少电的吧……

刚上车,一个好心人帮我放好了行李箱,然后我就上床快乐的吃食!忒好吃了!

但是不够饱……

我缓缓探出头,环视四周,发现没有一个空座位,于是先睡觉。

大概到 19 点左右,才有了空座位,于是下床泡面。

蒸耗吃!

然后……水犇。网太卡了,睡觉。

睡到 20:33……今天周六?有 ABC!匆忙爬起来,打 ABC……网太烂了,AT 都打不开。。

某个人凭借坚强的意志和惊人的才智,用不到一个小时的时间完成了 ABC 的 ABC 题,AK!

菜死了qwq

然后就是睡大觉zzz


Day 1

7.27 接待日,晚上 19:40 前到就行,我是早上 7:42 到的,所以准备下午卡点到。

我爸正好在北京进修,所以他来接我,我就随他一起吃了早饭,然后回他租的房子。

然后……线上远程打校队的结营测试……

由于到家时已经 10:30 多了,所以……

1.5h 极限 140分,rk 2。

中午吃自助餐+购物,充电线到手了qwq。

然后就去学校了。

不是,人大附中的分校怎么在郊区?不,农村?

坐地铁都做了 1.5h……

人大附中蛮大的,环境挺舒适的,宿舍蛮高级的(四人间,每人一个书桌,书桌顶上是床铺,大学级宿舍)。

同为梦熊集训营,为何长沙营和北京营的差距这么大?

然后……就是和 YZNNN空函数的面基,没了。

其实还有,回宿舍,宿舍里全是 B 班 C 班大佬,全是高冷男神,但是……洗澡门不关紧……这就是北方入吗?

又,D 班教室隔壁是 A 班,全是 NOI 铜银牌大佬%%%


Day 2

7.28 讲贪心、前缀和、差分和双指针。

摸清楚了梦熊的上课方式好吧,首先甩给你题目,给你 3 ~ 8 分钟想思路,然后听老师讲正解,再到一个专门安排的时间完成代码。

题目大部分是洛谷上的黄题、绿题,也有少量的蓝题。

上午战绩:三黄一绿。

下午战绩:两黄一绿。

晚上补题,但是发现月赛保护期过了,快乐地写了两篇题解。

当天总战绩:五黄两绿,七题。


写题记录:

P4231 三步必杀

维护两个差分数组 \(c,d\)\(c\) 维护区间加 \(s\)\(d\) 维护区间加 \((e - s) \div (r - l)\),然后对 \(c\) 跑前缀和还原,对 \(d\) 跑二次前缀和还原。由于 \(d\) 跑二次前缀和,所以 \(r+1\) 需要减去 \((e - s) \div (r - l) \times (r - l + 1)\)\(r+2\) 需要加上 \(e-s\)。得到以下差分公式:

\[c_l\gets c_l+s \]

\[c_{r+1}\gets c_{r+1}-s \]

\[d_l\gets d_l+(e - s) \div (r - l) \]

\[d_{r+1}\gets d_{r+1}-(e - s) \div (r - l) \times (r - l + 1) \]

\[d_{r+2}\gets d_{r+2}+e-s \]


又,获得空函数+YZNNN 帅照一张,收获满满。

Day 3

7.29 讲二分、并查集、栈、链表。

上午,二分 so eazy,所以直接刷题。上午战绩:两黄三绿。

中午宿舍没人,吓死了,以为表时间不对,匆忙赶往教室,结果发现早到了 1h……

发现同学基本都到了,而且都在打违禁游戏,快乐的水了 1h 的犇。

下午,简单数据结构。摸鱼。由于网线被大雨冲费了,没网,OI 赛制启动。

战绩:\(100 + 10 + 0=110\),只 \(A\) 了一道绿题,菜死了。

晚上回来补题,修理工神速,网络回归,开始补题。

战绩:两绿一蓝。

当天总战绩:两黄六绿一蓝,九题。


写题记录:

P1314 [NOIP 2011 提高组] 聪明的质监员

考虑二分答案,对题目求的 \(W\) 二分,求 \(|s-\sum\limits_{i=1}^m \sum\limits_{j=l_i}^{r_i}[w_j \ge W] \times \sum\limits_{j=l_i}^{r_i}[w_j \ge W]v_j|\) 的最小值,对于绝对值最小,可以用三分,当然二分也可以做,找到满足要求的最大负数与最小正数,取绝对值后求最大值即可。对于 check 函数,用两个前缀和维护每个矿石的质检信息,然后区间求和即可。

P2700 逐个击破

考虑贪心,带权并查集维护。对已经被占领的结点赋予 \(1\) 的权重,然后对边按权重降序排序,依次合并连接的两个点,如果合并后的权重大于 \(2\),就不能合并,跳过;反之,计算贡献,合并权重与两个集合。

P4113 [HEOI2012] 采花

别问我为啥写 BIT 的蓝题

考虑离线算法,用 BIT 维护区间内存在数超过 \(2\) 的种类数。先对查询的区间按有边界升序排序,维护一个遍历 \(a_i\) 的指针,一直移动到 \(r_i\)。用于统计符合题目要求的 \([1,i]\) 的答案,那么查询的值就为 \([1,r_i]-[1,l_{l-1}]\)

对于求 \([1,i]\),用两个数组记录每个数上一次出现和上上次出现的下标,如果出现了两次,做一次贡献,如果超过了两次,对上上次出现的下标减去一个贡献,让后更新新的值,实现“右移”。


Day 4

7.30 讲搜索和线性 DP,又是简单内容,摆摆摆。

上午,讲搜索啊,灰常无聊,不想听,直接写题。结果被小木棍卡了 2.6h……没有达到预期 qwq

上午战况:一橙三绿一蓝。

中午给 Ray 整理了一个BIT 和线段树练习题题单,搞了好久,里面的题基本上我都写过,补完就申请题单精选好吧。

下午,讲线性 DP,题目给的不错,黄绿绿蓝绿蓝黑,还有道 CSP-J T4 真题,30 min 一遍过。感觉可以 AK CSP-J 了0.0

没想到黑题的第一篇题解就是老师的,哇,是红名金钩大佬欸!

下午战况:三绿四蓝。

晚上搞体育锻炼,但是同学们都在教室打游戏!但是我被空函数拐走了,不是,体育馆里怎么都是 E 班的啊,溜了溜了。回来撞见 YZNNN 了,这小子打印 whk 学习资料去了,卷狗。

回来水犇 + 写日记 + 更小说,今天水的题够多了,不水了摸摸。

当天总战绩:一橙六绿五蓝,十二题。


写题记录:

P7074 [CSP-J2020] 方格取数

考虑动态规划,由于只能向上、下、右方向移动,所以考虑枚举每一列,按列转移。

设计状态 \(dp_{i,j,k}\),表示 \(i\)\(j\) 列,\(k=0\) 表示从上方移动而来,\(k=1\) 表示从下方移动而来。

枚举每列时,先令

\[dp_{i,j,0} \gets \max(dp_{i.j-1,0},dp_{i,j-1,1}) \]

然后上下跑两边转移,方程如下:

\[dp_{i,j,0} \gets \max(dp_{i-1.j,0},dp_{i,j,0}) \]

\[dp_{i,j,1} \gets \max(dp_{i+1.j,1},dp_{i,j,1}) \]

答案就为 \(\max(dp_{n,m,0},dp_{n,m,1})\)

Day 5

7.31 讲背包 DP,还是摸鱼。

上午补题,补昨天没写完的乌龟棋,结果没注意转移顺序炸飞,于是整了个反人类代码合集来记录错误警示自己。

老师又又又迟到了,原来时因为没带工作证被保安扣留了哈哈哈。

md 题写多了反倒被批斗了,今天少写点题。

上午战况:两绿一蓝。

下午背包 DP,摸鱼~

下午战况:一绿(摸上头了)

晚上,YZNNN 睡大觉被公开处刑了hhh

晚上补一道绿,然后硬柯一蓝,拼尽全力无法战胜。

当天总战况:四绿一蓝。


写题记录:

P1541 [NOIP 2010 提高组] 乌龟棋

线性 DP 的思路很好想,直接设状态 \(dp_{i,a,b,c,d}\)\(i\) 表示走到第 \(i\) 个格子,\(a,b,c,d\) 分别表示标有 \(1,2,3,4\) 的卡片。

很明显空间炸了。首先发现 \(i=a+2\times b+3\times c+4\times d\),所以没必要开 \(i\) 这一维,但是空间还是不够……

读题,\(a+b+c+d=m\),所以 \(d=m-a-b-c\),本来就是卡片数 \(i\)\(1\) 枚举到 \(m\),所以 \(d\) 这一维可以用滚动数组滚掉。得到最优状态设计:\(dp_{a,b,c}\)

转移方程很好想:

\[j\gets a+2\times b+3\times c+4\times (i-a-b-c) \]

\[dp_{a,b,c}\gets dp_{a,b,c}+w_j \]

\[dp_{a,b,c}\gets \max(dp_{a,b,c},dp_{a-1,b,c}+w_j) \]

\[dp_{a,b,c}\gets \max(dp_{a,b,c},dp_{a,b-1,c}+w_j) \]

\[dp_{a,b,c}\gets \max(dp_{a,b,c},dp_{a,b,c-1}+w_j) \]

注意滚动数组的转移顺序应是从后往前,详见反人类代码合集 7-31 第一弹。

然后这道题就写完了0.0


Day 6

8.1 了呢!今天是区间+状压 DP,不太好摆。

快乐星期五,斗罗+灵笼双更新,中午爽飞。

上午,老师讲太快了,给了两个半小时摸鱼写题,然后就一直写写写……

区间 DP 好简单啊……

上午战况:五绿一蓝。

中午疯狂吸食双倍经验,战绩:两绿五蓝。

下午听状压,发现枚举子集就是按秩转移,颓,修题解。

结果修了一个下午,一题没写……

晚上补题,全写状压 DP,战绩:三绿。

当天总战绩:十绿六蓝。


写题记录:

P2851 [USACO06DEC] The Fewest Coins G

背包 DP 蓝题,昨天晚上磕了 1h 没有战胜,今天看了警示后人 12min 秒杀。

权重为面值 \(V_i\),价值为硬币个数,每种面值的硬币各有 \(C_i\) 个。购买一个价值为 \(T\) 的物品,求交付硬币和找回硬币的最小数量和,若买不起或无法找零,输出 \(-1\)

直接猜结论:老板找回的硬币总面值不超过 \(\max\{V_i\}\),那么先跑一个完全背包记录,用 \(dp2_i\) 每种最优找零情况。

然后再跑一个多重背包,用 \(dp_i\) 记录,容量为 \(T+\max\{V_i\}\),超出 \(T\) 的部分增加价值 \(dp2_{i-T}\),求最小价值。

然后对求得的 \([T,T+\max\{V_i\}]\) 求最小 \(dp_i\) 即可。


Day 7

上午模拟赛,480pts/600pts,原估分 560,T4 挂了 80 分,遗憾离场。

下午讲题,前五题我都会,T6 听了一下也会了,赛后花了 2.5h 补了,然后就没了。

晚上磕 T6 的加强版,没磕出来,跑路。

全天只写了一道紫,就是补了的 T6,难绷。

写题记录今天不写了,磕出那加强版再写题解。


Day 8

上午硬是把加强版磕出来了,下午写题解,结果在谷上和别人对线上,然后被封了,难绷。

因为号没了,无法进行记录,所以之后就没记录了。

当天战绩:一紫,一题。

posted @ 2025-08-13 17:49  雨落潇湘夜  阅读(29)  评论(0)    收藏  举报
我的页脚图片