文章列表

# [题目链接] # 题目大意 一句话概括。 # 核心思路 关键性质:(比如:异或和的最高位决定胜负) 算法选择:(比如:博弈论 + SG 函数) # 易错点 / 坑点 边界处理 数组大小 # AC 代码 点击查看代码 (放入代码)

# 补题 # 题目链接:左右脑互博 HDU1004 # 题目大意 核心玩法: 给定一个包含 n 个正整数的集合,两人轮流从集合中取走一个数 aia_iai​,满足: aia_iai​>(剩余元素的异或和) 若集合只剩 1 个数,可直接取走。 无法操作者输。 # 核心思路 关键性质:n 很小,考虑状态压缩,再结合只要对于当前状态,可以转移到至少一个必败态,则当前状态为必胜态,否则为必败态,可解 算法选择:状态压缩 + 记忆化搜索 # 易错点 / 坑点 状压后扫描每个位置是否取过的时候,i 应该从 0 开始 点击查看代码 for (int i = 0; i...

# 曼哈顿距离: d(A,B)=∣x1−x2∣+∣y1−y2∣d(A, B) = |x_1 - x_2| + |y_1 - y_2|d(A,B)=∣x1​−x2​∣+∣y1​−y2​∣ # 切比雪夫距离(棋盘距离): d(A,B)=max⁡(∣x1−x2∣,∣y1−y2∣)d(A, B) = \max(|x_1 - x_2|, |y_1 - y_2|)d(A,B)=max(∣x1​−x2​∣,∣y1​−y2​∣) 常用坐标系转换 # 曼哈顿距离转切比雪夫距离 $ (x, y) \rightarrow (x + y, x - y) $ 原点 A(x1,y1)A(x_1,...

# 图论 # 1. 拓扑排序( Kahn 算法) const int N = 1505;vector<int> e[N], tp;int d[N]; // 存每个点的入度bool topo(int n){ queue<int> q; for (int i = 1; i <= n; i++) { if (!d[i]) q.push(i); } while (!q.empty()) { int u = q.front(); tp.push_back(u); q.pop();...

# Who am I? 你好,我是 LesSu!目前是一名大二在读的 CS 学生,也是一名 ACMer(努力沉淀中!) 未来的大学学习日记、补题、算法练习都要在这里留下印记(真的会坚持吗()) # 🚀 Competitive Programming Platform Handle Rating Codeforces LesSu AtCoder LesSugarR Training Plan: 每周三、周六固定训练,其余时间 Upsolving / 学习算法 Specialty: 努力修整中… “The best time to plant a tree was 10 years...