W1_250217~250223_OI日志
- 250217
- 大致安排
- 题目
- 250218
- 大致安排
- 题目
- 250219
- 大致安排
250217
大致安排
上午讲了树上启发式合并,中午和下午补了上午的题,额外做了一道。
题目
- U41492 树上数颜色
(老师自己出的,实在是太典中点了) - CF600E Lomsat gelral
板子无非是加了取最大的操作,但合并根的时候至多改变一个一种颜色的出现次数。 - CF2063E Triangle Tree
树上启发式合并在lca处合并是一个很好的东西。答案的推导过程如下:
所以处理一个点 u u u 为根的子树时,每个子树分别整体加入权值树状数组,去处理取 min \min min 操作,注意在重儿子计算完其贡献时清空内部数据。 - CF2052D DAG Serialization
很好列出 5 5 5 个要素,建边跑 topo_sort,判断是否存在方案即可。思路和一篇题解完全一样引用一下:
感觉这篇题解分析的很全面,很赞。小插曲就是Crh先比我用奇怪的方法先过了这道题,他说要帮我看看代码,结果我把他给hack了,北欧ICPC数据真水。
250218
大致安排
上午Crh、Szx、Czy给老师提供了一车题目,比较废物我只补了一道,下午AT_abc301 模拟赛,太菜了只切到了 E E E 。震惊的晚上Crh竟然在次日凌晨A了AT_abc301_h
题目
- AT_abc301_a
- AT_abc301_b
- AT_abc301_c
- AT_abc301_d
- AT_abc301_e
比较一眼的状压dp,我建了原点和关键点编号的双向映射,同时把起点和终点也压入状态,比较好写一点。 - CF2064D
从后往前操作,会发现操作值在二进制意义下最高位逐渐递减,所以每个位置维护一个东西 f i , j f_{i,j} fi,j 表示第 i i i 个位置以左第一个最高位为 2 j 2^j 2j 的位置。总而言之,纯纯操作题。 - AT_abc384_f Double Sum 2
观察到这个和式正常情况下是 O ( n 2 ) O(n^2) O(n2) , 但观察到是 l o w b i t ( x ) lowbit(x) lowbit(x) 的取值个数是 O ( l o g 2 ( V ) ) O(log_2(V)) O(log2(V)) ,所以将 a i m o d 2 j a_i \mod 2^j aimod2j 存入map 中,因为考虑到末尾恰好有 k k k 个 0 0 0 不好统计,则想到将其差分,求即可。