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}\)

2026.07.18

posted @ 2026-07-12 23:44  xx019  阅读(7)  评论(0)    收藏  举报