摘要: whk 考试前写题解攒 rp 有用吗 仍然是讲讲想出来的过程。 首先,我们只需要关心一个联通块中有哪些点,而不用关心图的具体形态。 然后,将每个连通块看作一个点,就变成了一个无根树计数问题,但是带权值。首先想到 prufer 序列。 prufer 序列的定义:一棵无根树中,每次将编号最小的叶子取出来 阅读全文
posted @ 2024-01-07 22:07 yinhee 阅读(14) 评论(0) 推荐(0)
摘要: 大常熟另类做法。不用排序。 要求直径长度,则想到把直径这一条链拎出来处理。然后考虑其他边会接在哪里,发现树最优情况下一定是一个毛毛虫的形式。更进一步,所有边都挂在接近直径中点的点上。 然后再考虑这些不在直径中的,长度为 \(l\) 的边带来的限制,设直径为 \(d\),从每个点将直径切成两半,记其中 阅读全文
posted @ 2024-01-07 22:06 yinhee 阅读(14) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2024-01-07 22:02 yinhee 阅读(0) 评论(0) 推荐(0)
摘要: Day -2~Day -1 学校集团考试。裸考政史。看看能怎么样。 晚上到了松山湖。感觉学校好大啊,比 XDFZ 更胜一筹。 那座山也是这个学校的???白鹭观景区也是???震惊了。 但是感觉有点老旧。饭堂一般吧。油比较多,但是我喜欢。 酒店环境还可以。晚上颓废。 Day 0 不存在的。 Day 1 阅读全文
posted @ 2024-01-07 21:45 yinhee 阅读(101) 评论(0) 推荐(0)
摘要: 挺巧妙的题。 首先可以根据每个点出现时间知道每条边出现时间。然后就是一个 SGT 分治了……吗?发现如果对于每个时刻记录此时有哪些点和 \(1\) 联通,每次都要 \(O(n)\) 的时间扫一遍,这样肯定是不行的。 那么怎么办呢?于是考虑在并查集合并一次的时候判断合并中的两个点中的一个是否与 \(1 阅读全文
posted @ 2024-01-04 17:03 yinhee 阅读(8) 评论(0) 推荐(0)
摘要: 题目传送门 解题思路:倍增+树剖+树状数组 对于每次询问,我们可以看成是两个点都不断往上跳(如果一个点是另一个点的祖先则是只有一个跳),有一个很明显的贪心策略:每次都跳到能跳到的深度最小的点。然而一次一次往上跳可能被极端数据卡掉,所以要用倍增维护跳 \(2^i\) 次能跳到哪里。 然而两个点都跳到他 阅读全文
posted @ 2023-12-23 21:56 yinhee 阅读(24) 评论(0) 推荐(0)
摘要: dp+根号分治,配得上省选题的难度。 一眼 dp,虽然暴力肯定过不了,但是把朴素转移先列出来绝对没坏处。 \[dp_i=\min\limits_{1\leq j<i}(dp_j+\min\limits_{j\leq k\leq i}a_k\times v) \]这个东西很难用 DS 维护,有 \(\ 阅读全文
posted @ 2023-12-23 21:49 yinhee 阅读(17) 评论(0) 推荐(0)
摘要: 学习 SG 基础题。 首先发现每个质数之间是独立的,于是分成了若干个子游戏。 考虑如何计算每个子游戏的 SG 值。一开始没搞懂为什么可以状压,看了大佬代码才明白:对于一个质数 \(p\),\(p^k\) 对答案是否有影响,只和这个 \(k\) 是否出现有关。所以将 \(k\) 的出现状态情况成二进制 阅读全文
posted @ 2023-12-23 21:49 yinhee 阅读(32) 评论(0) 推荐(0)
摘要: 很强的题。 结论:每个非 \(0\) 点的值一定是它到最近的 \(0\) 的距离。 证明:记该点值为 \(x\),上文距离为 \(d\)。考虑反证。 若 \(x>d\)。 考虑该点到 \(0\) 的最短路。记路径上的点到该点的距离为 \(d'\),值为 \(x'\)。则 \(x'\) 最小能取到 \ 阅读全文
posted @ 2023-12-23 21:46 yinhee 阅读(8) 评论(0) 推荐(0)
摘要: 居然差一点场切了。 首先可以将两棵树上对应的点看作一个点的两个不同状态考虑一个类似最短路的东西:设 \(dis_{i,j,0/1,0/1}\) 为树上 \(0/1\) 状态的 \(i\) 点到 \(0/1\) 状态的最短路。考虑怎样维护这个值。 由于是树上路径问题,容易发现设 \(k\) 为树上 \ 阅读全文
posted @ 2023-12-23 21:45 yinhee 阅读(20) 评论(0) 推荐(0)