04 2025 档案

摘要:01 DP 入门题 03 线性基 线段树 解题思路 解决这题就必须要学下异或线性基。 对于子树的询问,我们可以转化成在 DFS 序中的区间询问:区间的左端点就是子树的根在 DFS 序中的位置,区间长度就是子树的大小。于是我们要做的就是实现单点修改和区间查询(查询区间的异或线性基)。 直接线段树就好了 阅读全文
posted @ 2025-04-11 20:56 Young_Cloud 阅读(15) 评论(0) 推荐(0)
摘要:本文从集合和高维前缀和两种角度分别介绍 SoS(Sum over Subsets) dp 问题引入 我们从一到经典的例题来引入学习 SoS dp: 对于两个二进制数 \(x\) 和 \(y\),我们定义 \(y \subseteq x\) 当且仅当 \(x \& y = x\),既 \(x\) 中为 阅读全文
posted @ 2025-04-10 13:30 Young_Cloud 阅读(294) 评论(0) 推荐(1)
摘要:原文 暴力美学——浅谈根号分治。 其实以下内容就是自己总结一下上文中的例题。 概述 根号分治是一种十分暴力且巧妙的策略,需要我们观察大数据和小数据的特点,通常他们都有各自的解法,但是每个解法又不能适应所有数据,于是我们就想到把数据按照某个界限分类。 (干说还是说不清,直接看下面 4 到题吧) CF 阅读全文
posted @ 2025-04-07 17:42 Young_Cloud 阅读(65) 评论(0) 推荐(0)
摘要:本文不涉及定理的证明(作者太菜了不会)。 公式 Lucas 定理可以在模数是质数且不大的情况下求解大组合数取模问题: 对于素数 \(p\),有 \[(^{n}_{k}) \equiv (^{\lfloor {n \over p} \rfloor}_{\lfloor {k \over p} \rflo 阅读全文
posted @ 2025-04-03 13:29 Young_Cloud 阅读(65) 评论(0) 推荐(0)
摘要:定义 两点 \(u(x_1, y_1)\) 和 \(v(x_2, y_2)\) 之间的曼哈顿距离大家都是熟悉的,即: \[|x_1 - x_2| + |y_1 - y_2| \]我们可以这样看曼哈顿距离:在棋盘中,只能水平走或竖直走,且每走一格需要花费步数 1,在这种条件下,从起点到终点的最少步数。 阅读全文
posted @ 2025-04-02 11:13 Young_Cloud 阅读(183) 评论(0) 推荐(0)
摘要:1001 模拟 就注意理解一下题意,题中 \(k\) 的含义是当一个敌人收到了 \(k\) 次伤害后,如果没死,就进入了不可选中的状态。其他的就没啥了直接看码。 CODE struct ENEMY { int hp, u, idx, cnt; bool operator< (const ENEMY 阅读全文
posted @ 2025-04-01 23:16 Young_Cloud 阅读(39) 评论(0) 推荐(0)