摘要: 习题1 领地选择 题意:在二维平面上选择一块 \(C\times C\) 的区域,要最大化区域内元素之和。 题解:非常模板的二维前缀和题目。 view code #include <bits/stdc++.h> using namespace std; using i64 = long long; 阅读全文
posted @ 2026-07-20 19:01 Linqi05 阅读(3) 评论(0) 推荐(0)
摘要: 习题1 唯一的雪花 这题好像没有地方评测,可以跳过 题意:给定 \(n\) 个数字,求最长的连续区间,区间内的数字各不相同。 题解:用 map 维护数字出现次数,deque 维护区间内的数字。也可以不用 deque 存储数组后双指针。 view code #include <bits/stdc++. 阅读全文
posted @ 2026-07-06 18:00 Linqi05 阅读(2) 评论(0) 推荐(0)
摘要: 记录一些没有写在其他随笔中的 Codeforces 杂题, 以 Problemset 题号排序 1427C - The Hard Work of Paparazzi(2000) 从网格起点 \((1,1)\) 出发,已知有 \(n\) 个目标分别在严格递增的指定时间 \(t_i\) 瞬间出现在坐标 阅读全文
posted @ 2026-06-07 15:24 Linqi05 阅读(6) 评论(0) 推荐(0)
摘要: 本文链接 CSP-J 2024 扑克牌 用 set 可以轻松判断扑克牌的种类数,然后用 52 减去它 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nul 阅读全文
posted @ 2026-05-28 09:38 Linqi05 阅读(8) 评论(0) 推荐(0)
摘要: 本文链接 CSP-J 2025 拼数 要把数字拼成最大的正整数,其实就是把所有数字从大到小排序输出。 代码里用 map 统计数字出现的次数,然后从后往前(逆序)输出即可。因为题目保证至少有一个非零数字,所以完全不用担心开头是 \(0\) 的情况。 #include <bits/stdc++.h> u 阅读全文
posted @ 2026-05-24 10:47 Linqi05 阅读(13) 评论(0) 推荐(0)
摘要: 本文链接 视频链接 A. Meximum Array 从左到右扫描, 维护每一个数字当前出现的次数和总的次数, 以此来 \(O(1)\) 地得到 \(x\) 是否存在于后缀中. 利用 std::set 维护 mex, 如果当前 mex 不存在于后缀, 即不会再变大, 则贪心地结束当前子串, 因为剩下 阅读全文
posted @ 2022-01-23 14:37 Linqi05 阅读(375) 评论(0) 推荐(1)
摘要: 本文地址 视频讲解 A - Erase by Value 贪心, 找到第一个出现的相邻逆序. #include <bits/stdc++.h> using namespace std; #define inc(x, l, r) for (int x = l; x <= r; x++) const i 阅读全文
posted @ 2022-01-23 02:46 Linqi05 阅读(213) 评论(0) 推荐(0)
摘要: 本文地址 视频讲解 A - Rotate 枚举; 或者观察发现乘以 \(111\) #include <bits/stdc++.h> using namespace std; int main() { string s; cin >> s; int a = (int)s[0] - '0' + s[1 阅读全文
posted @ 2022-01-17 16:48 Linqi05 阅读(216) 评论(0) 推荐(0)
摘要: 博客地址 视频版讲解 A. Stable Arrangement of Rooks 贪心 #include <bits/stdc++.h> using namespace std; #define inc(x, l, r) for (int x = l; x <= r; x++) void solv 阅读全文
posted @ 2022-01-04 22:42 Linqi05 阅读(111) 评论(0) 推荐(1)
摘要: https://www.cnblogs.com/linqi05/p/15349891.html The 2021 ICPC Asia Regionals Online Contest (II) F Leapfrog 玩酒馆战棋看到跳蛙的时候就感觉能出成题目。感挺觉炉石里的很多模型都适合出题(UPD: 阅读全文
posted @ 2021-09-28 20:24 Linqi05 阅读(347) 评论(0) 推荐(0)
摘要: 考虑每个数字 $x$ 第一次出现在位置 $pos$ 的贡献, 那么就要计算位置 $pos$ 前后的合法序列的数量了. 定义这两个 $DP$ 数组: $pre[i][j]$: 当 $n=i$ 时, $p_i=j$ 的合法序列数. $suff[i][j]$: $a_1=j$ (无视 $a_0$ 的限制) 阅读全文
posted @ 2020-10-22 20:34 Linqi05 阅读(459) 评论(1) 推荐(2)
摘要: 题意 问题转化成, 有 \(N\) 堆石子, 博弈双方每次可以选择不超过 \(K\) 堆, 每堆取不超过 \(X\) 个, 总的取石子数至少为 $1$. 最后没有石子可取的一方判负. 问胜利方. 网上的题解 对于单堆来说是一个巴什博弈, \(SG\) 值为石子数模 \(X+1\). \(Nim K\ 阅读全文
posted @ 2020-10-03 15:47 Linqi05 阅读(483) 评论(10) 推荐(1)
摘要: 这不是题解, 只是个人记录一个小知识点 起因是不知道题解里那句 "对于 $n$ 个人的每个前缀,求出从后往前插入的线性基,并记录每个基是哪个人提供的,这是一个经典算法" 所指的经典算法是啥, 读了代码之后知道, 原来算法流程是这样的: 从前往后扫, 当前是第 $i$ 个向量 $x$ 时, 按正常插入 阅读全文
posted @ 2020-09-09 23:06 Linqi05 阅读(267) 评论(0) 推荐(0)
摘要: 93 位打表介绍 压 \(93\) 位打表就是把要打表的数字转换成 \(93\) 进制, 以此来缩短打表部分的代码长度. 例如打表 int 型数字时, 可以用 \(\lceil\log_{93}{(2^{31}-1)}\rceil=5\) 个字符表示(事实上, int 还有负数, 但是我们遇到的题目 阅读全文
posted @ 2020-09-08 23:15 Linqi05 阅读(167) 评论(0) 推荐(1)
摘要: ABC 453 E - Team Division(1513) 我们要把 \(N\) 个人分成 \(A\)、\(B\) 两个具体的队伍(都不能为空),每个人对“自己所在队伍的总人数”有一个区间限制 \([L_i, R_i]\),求合法的分组方案数。 题解 枚举队伍 A 有 \(i\) 个人时,维护有 阅读全文
posted @ 2020-05-24 12:06 Linqi05 阅读(25) 评论(0) 推荐(0)