2026.7 复健记录
2026.07.10
被拉到了 fdu 新生群里,似乎要准备 acm 选拔+复健了,正式训练应该是 17 号开始。
打了 EDU192。A 很唐。B 也是,但是头晕晕,写了快十分钟。C 也不难,但是边界没处理好调试半天。唉唉,本就不多的代码能力确实也下降严重啊。
DE 明天再说吧。
2026.07.11
今天太颓废了,上午被拉去拜访亲戚,下午一直在凹 zmd。几乎没做什么题啊,唉唉。
D 做半天没啥思路,无奈看题解才发现自己是傻逼。如此水平,如何 acm?E 胡了个思路之后有点写不动,遂看题解,发现大体思路没问题,但是个别情况做复杂了。一句话记录一下做法吧。
CF2242D:首先无解显然当且仅当两个数组所有数之和在 mod 10 意义下不同。考虑对两个数组求前缀和,则答案即为两个前缀和在 mod 10 意义下的 LCS。
CF2242E:考虑小分讨:令 \(highbit(r)=2^k\)。若 \(l\geq 2^k\),则两数必在第 k 位都取 1,可转化为 \([l-2^k,r-2^k]\);若 \(l\leq 2^{k-1}\),则显然取 \(2^{k-1},2^k\)最优;否则可证明取 \(l,2^k\) 最优。
2026.07.12
今天也比较颓废,但比起前一天还是好了一点。CF 做了两道题,难度都不大,只是在细节处理上均存在一些问题,只能说要多锻炼熟能生巧了。
被 emsger 叫去打 arc,对自己实力有比较清晰的认知遂果断 Unrated。万万没想到这次 arc 似乎难度偏简单,AB 都很送,但我依旧秒出思路后调半天。C 也挺唐的,但是不知道为什么最开始否决了想出的做法。D完全没啥思路,于是打摆。但是看 emsger 和 Eray 最后都切了 5 道还掉分了啊,顿感自卑。赛后看题解,只看了一句话就发现 D 其实也是傻逼题,只是我更傻逼。E 明天再看吧,唉唉😔。
arc224D:考虑反面:记 \(S_x\) 表示包含 x 的卡片的集合,如果 (x,y) 不合法,则该条件等价于 \(S_x=S_y\),那么原题就等价于安排 k 个互不相同的 S 使得 \(\sum_x (|S_x|\times \text{Len}(x))\) 最小,这就是简单题了。
2026.07.13
今天是和同学去三亚度假的第一天,下午出发,所以上午一直在收拾东西,下午在车上和飞机上度过,晚上入住酒店,一天没练习。
2026.07.14
今天是三亚度假第二天,上午中午在海边玩,下午在酒店游泳池学习游泳,一天也没练习。
深夜睡不着,想到 acm 选拔在即,自己却如此之菜的事实,焦虑地渴望变革,于是刷到了 b 站上 cmd 的经验之谈,决定在接下来一段时间实践一下。
2026.07.15
今天是三亚度假第三天,上午去海上玩了不少项目,中午回酒店看题解补了 arc224E。
arc224E:注意到 A/AB/ABC 拥有公共前缀,考虑从后往前扫,使用栈维护当前状态,值表示某个可能的字母组合删去后可以使答案减少的长度。具体地,遇到 C 加一个 0;遇到 B 如果栈顶是 0 则弹 0 加 3,否则加 2;遇到 A 如果栈顶有非零值则弹出并减去对应长度,否则答案减 1。
下午决定小刷一点题,于是选了 arc223。总体上感觉难度不算大,但有点人类智慧,小巧思较多,自己也有点卡题。
arc223A:对于 i,当 \(W\ge w_i\) 时,若不选它则能选完 1 到 i-1 所有,选它则可得到 \(v_i\) 价值,从后向前扫一遍,前缀和后 \(O(n)\)。
arc223B:当一段内有 \(\forall (a_i+a_j)\equiv 0 \pmod k\) 时,可以任意安排位置;当一段内只存在 \(a_i\equiv x\pmod k\) 或 \(a_i\equiv y\pmod k\) 且 \(x+y\equiv 0 \pmod k\) 时则最终位置满足两类数内部顺序不变,乘法原理每一个极长段方案乘积即为答案。
arc223C:\(\exists i<j,a_i=a_j\) 时,答案为 0。否则 \(a_i\bmod n\) 为 0 到 n-1 的一个排列,那么答案就是正负 \(\prod_{i<j}(j-i)\bmod n\)。正负取决于 \(a_i\) 排序后 \(a_i\bmod n\) 的逆序对数的奇偶性。
2026.07.16
三亚度假第四天。上午大东海,但是海域未开。下午西岛,傍晚椰梦长廊散步拍照,没看到日落。夜市闲逛后回酒店。
出租车上试图实践 cmd 学习法,随机开了几道 kenkoooo 上的较简单的题,大部分都不太会,有点挫败。
2026.07.17
三亚度假第五天。上午酒店休息,下午大东海沙滩漫步+鹿回头游玩,晚上酒店激情斗地主。
上午跟紧 Eray 的步伐 vp 了一场 div2,状态不错速切了 ABC,D 细节没考虑清楚导致用时略多,E 只能说第一步对了。
CF2246D:若 \(\exists a_i\) 为奇数,则 Bob 策略为不断将其放到第二个,可得到最大次数 \(\sum (\text{popcount}(a_i)+\text{bitlength}(a_i)-1)\)。记变化后数组为 \(b_i\),枚举 Alice 初始操作后的 \(t=\min(\text{lowbit}(b_i))\),则 t 次后即出现奇数。注意变化后 \(b_i\) 可能比其可能最小值更大以得到更小的最终答案,需要枚举可能的 \(b_i\) 取答案最小值。
CF2246E:因为知道 v 某一位的取值后即可确定答案,且确定性做法行不通,考虑随机化。取 x=1。若 \(o(v,x)>1\),则已经确定 v 的一位;若 \(o(v,x)=0\),则 v 为偶数。
当 \(o(v,x)=1\),若操作为或,则 v 为 0/1,否则 v 为奇数。考虑 \(m_0=0,m_1\) 为随机奇数。记回答为 t。
若 t=0,则除非 \(b=1,m_1=v\),否则 b=0,v=0;
若 \(t=m_1\),则除非 \(b=0,m_1=v\),否则 b=1,v=0;
若 t 为非零偶数,则 b=1。
若 t 为非 \(m_1\) 奇数,则 b=0。
错误概率 \(P=2^{-29}\)。

浙公网安备 33010602011771号