标签: ACM

16 篇文章

【整理】算法竞赛博弈游戏学习笔记
笔记参考:emofunc-牛客博弈论课程课件 博弈的基本概念 组合游戏 两个玩家 一个状态集合 游戏规则是指明玩家在一个状态下可以移动到哪些其它状态 玩家轮流进行移动 如果当前处于某个状态,玩家根据规则无法移动,则游戏结束 (大部分时候)无论玩家如何选择,游戏会在有限步以内结束 组合游戏是非常常见的博弈模型 经典模型 Bash 游戏:一堆石子,轮流…
CF1739F Keyboard Design 题解
Good problem. 题意 题目链接 Monocarp 词典包含 $n$ 个单词,由 $12$ 个拉丁字母组成。单词编号从 $1$ 到 $n$ 。每个单词中的每一对相邻字符都是不同的。对于每个单词 $i$ ,Monocarp 也有一个整数 $c_i$ ,表示他使用这个单词的频率。 Monocarp 想要设计一个键盘,让他可以轻松地输入其中的一…
ICPC Online 2024 K AC Automation Chicken 题解
很涩的一个题。 题意 题目链接 假如我们有一个 AC 自动机,我们可以取出其中的点,字符边和 Fail 边,这样其就变成了一个有 $n$ 个点和 $2n-2$ 条边的有向图。现在给出你这样一个有向图,你需要找到其原始的 AC 自动机结构(包括 1. 找到根 2. 找到哪些边是 Trie 树边 3. 给所有的 Trie 树边分配一个字符,字符集大小不…
CF1208F Bits And Pieces 题解
题意 题目链接。 给你一个由 $n$ 个整数组成的数组 $a$ 。 你需要在所有三元组 $(i,j,k)$ 中找出 $a_{i} | ( a_{j} \& a_ {k} )$ 的最大值,使得 $i < j < k$ . 这里 $\&$ 表示 位与运算,而 $|$ 表示 位与运算。 由 Codeforces Better!…
【整理】算法竞赛字符科技学习笔记
内容参考: 牛客竞赛字符串专题-calabash_boy 樱雪喵-广义后缀自动机(广义 SAM)学习笔记 KMP KMP 是一种用于两个字符串匹配的算法。其核心概念是 Border ,即一个字符串同长度的完全相同的前后缀(通常不含自身)。 KMP 的做法是先求出要匹配的字符串(短串)的所有前缀的最长 Border,然后在于长串进行匹配,并在无法匹配…
【整理】算法竞赛动态规划学习笔记
一些动态规划类型 树形 DP 树形 dp 的常用方法(例如树上背包)是将接下来要处理的儿子与以及处理完的儿子的全体进行合并,即把处理多个子树的问题转换为依次合并两个儿子的问题。 树形 dp 类型众多,故这里不多做赘述。 状压 DP 状压 dp 的核心是把状态用二进制数进行压缩(有些时候可能会用到四进制,如果一个点有三种或四种状态)。处理状压 dp …
【整理】算法竞赛计算几何学习笔记
好用的参考:来自俊杰哥哥的板子 二维基础 特殊值与精度 无穷 $1.0/0.0=\operatorname{INFINITY},1.0/0.0=\operatorname{-INFINITY}$ 非数 $0.0/0.0 =\operatorname{NAN}$ 要注意,$\operatorname{NAN} (\ge,\le,>,<,= ) …
CF1973D(CFR 945) Cat, Fox and Maximum Array Split 题解
题意 题目链接。 交互题。 狐狸给你两个正整数 $n,k$,并且她有一个长度为 $n$ 的隐藏数组。对于一段区间 $(l,r)$,其价值 $f(l,r)$ 等于长度乘以区间最大值。 你有 $2n$ 次查询次数,每次查询形如 ? l x,狐狸会告诉你一个数 $r$,表示最小的满足 $f(l,r)=x$ 的 $r$,或是 $n+1$ 表示不存在 $r$…
2024 CCPC Final Chengdu (第九届 CCPC 总决赛): A 题 – Add One 2 题解
题意 题目链接。 给定一个序列 $y$​, 初始有一个全零序列 $x$​。每次可以选择一个长度为 $k$​ 的前缀或者一个长度为 $k$​ 的后缀将其加一,代价是 $k$​。问最少需要多少代价能使得对于所有 $i$​ 都满足 $b_i\geq a_i$​。 序列的长度范围为 $1 \le n \le 10^6$。 解答 Key 1: 考虑什么情况下…
【整理】算法竞赛数学相关学习笔记
这个笔记想写得稍微详细一点,部分内容来自我自己之前的博客: OI 里的数学内容整理(提高组)。 其中一些公式是 AI 从 PPT 上识别的,格式混乱,还请谅解。 整数分解与筛法 欧几里得算法 用于求解两个数的最大公因数。 $\gcd(a,b)=\gcd(b,a\bmod b)$。 int gcd(int a,int b){ return b==0?…