随笔分类 -  ACM

摘要:链接:contest link B.I love AAAB 题目 如果一个字符串长度大于等于 \(2\) 且最后一个字符为 B ,其他字符都为 A ,那么称这个字符串是 好 的 给定一个初始为空串的字符串 \(s_1\) ,可以执行任意次以下操作: 在 \(s_1\) 的任意位置插入一个好的字符串 阅读全文
posted @ 2022-04-24 20:03 f(k(t)) 阅读(74) 评论(0) 推荐(0) 编辑
摘要:简介 **快速傅里叶变换(Fast Fourier Transform)是一种可以在 $O(n\log n) $ 复杂度下完成离散傅里叶变换(Discrete Fourier Transfrom)**的算法,常应用于加速多项式乘法。 多项式表示法 系数表示法 系数表示法就是用多项式各项系数来表达这个 阅读全文
posted @ 2022-04-17 21:02 f(k(t)) 阅读(165) 评论(0) 推荐(0) 编辑
摘要:简介 构造题是一种有趣的题目类型,一般会给定几个条件,要求构造出符合这些条件的数字/序列等,与数学关联较大 题目 CF1603B.Moderate Modular Mode 题目链接:CF1603B 题意: 给定 \(2\) 个偶数 \(x,y\) ,找到一个整数 \(n\) 满足 \(n\bmod 阅读全文
posted @ 2022-03-27 21:27 f(k(t)) 阅读(102) 评论(0) 推荐(0) 编辑
摘要:简介 交互题是一种有趣的题目类型,题目一般会有一个目标值,如数组和,数组中的最大值等,为了求出这个目标值,允许进行限制次数的指定类型的询问,如询问 \(a_i+a_j\) 的值,系统会对每个询问给出结果,这就是交互的过程。在所有询问执行完后需要求出目标值并输出 题目 CF679A.Bear and 阅读全文
posted @ 2022-03-24 08:56 f(k(t)) 阅读(687) 评论(0) 推荐(0) 编辑
摘要:题目 找到所有 \(n\) ,满足 \(\exists a,b,c\in \mathbb{Z^+}\text{ s.t. }n=\operatorname{lcm}(a,b)+\operatorname{lcm}(a,c)+\operatorname{lcm}(b,c)\) 分析 初看毫无头绪,所以 阅读全文
posted @ 2022-03-18 14:50 f(k(t)) 阅读(62) 评论(0) 推荐(0) 编辑
摘要:链接:contest link A.Min or Sum 题目 给定一个长度为 \(n\) 的数组 \(a\) ,可以执行任意次如下操作: 任取两个整数 \(i,j\) ,使 \(a_i=x,a_j=y\) ,\(x,y\) 需要满足 \(x\mid y=a_i\mid a_j\) 求执行操作后数组 阅读全文
posted @ 2022-03-16 21:32 f(k(t)) 阅读(38) 评论(0) 推荐(0) 编辑
摘要:链接:contest link A.Reverse and Concatenate 题目 给定一个长度为 \(n\) 的字符串 \(s\) 和一个整数 \(n\) ,用 \(rev(s)\) 表示将字符串 \(s\) 反转,你可以对 \(s\) 执行 \(k\) 次如下操作: 将 \(s\) 变为 阅读全文
posted @ 2022-03-16 11:00 f(k(t)) 阅读(26) 评论(0) 推荐(0) 编辑
摘要:链接:contest link A.Modaka and Math Dad 题目 给定 \(n\) ,求不含 \(0\) 且相邻数位不相等的最大十进制数,且这个十进制数各数位上数字和为 \(n\) 分析 考虑如何产生最大的十进制数,必然要使位数尽可能多,而数位和为 \(n\) ,所以每个数位上的数字 阅读全文
posted @ 2022-03-15 01:07 f(k(t)) 阅读(83) 评论(0) 推荐(0) 编辑
摘要:定义 狄利克雷卷积是定义在数论函数间的一种二元运算: \[ (f\ast g)(n)=\sum_{xy=n}f(x)g(y) \] 也等价于下面这种形式: \[ (f\ast g)(n)=\sum_{d\mid n}f(d)g(\frac{n}{d}) \] 性质 若 \(f,h\) 是积性函数,则 阅读全文
posted @ 2022-03-01 21:55 f(k(t)) 阅读(481) 评论(0) 推荐(2) 编辑
摘要:题目 Luogu P3768 给定 \(p,n\) ,求: \[ (\sum_{i=1}^n\sum_{j=1}^nij\gcd(i,j))\bmod p \] 分析 \[ \begin{aligned} &\sum_{i=1}^n\sum_{j=1}^nij\gcd(i,j)\\ =&\sum_{ 阅读全文
posted @ 2022-03-01 18:33 f(k(t)) 阅读(39) 评论(0) 推荐(0) 编辑
摘要:简介 杜教筛是一个用于处理数论函数前缀和的方法,优化后它可以在 \(O(n^{\frac 2 3})\) 的时间复杂度下求解一个前缀和 原理 如果给定一个函数$f$ ,要求计算 \(S(n)=\sum_{i=1}^nf(i)\) 。为了降低复杂度,我们想办法构造一个 \(S(n)\) 关于 \(S( 阅读全文
posted @ 2022-03-01 11:43 f(k(t)) 阅读(50) 评论(0) 推荐(0) 编辑
摘要:定义 如果一个线性同余方程 \(ax\equiv 1\pmod b\) ,则称 \(x\) 为 \(a\bmod b\) 的逆元,记作 \(a^{-1}\) 它等价于 \(ax+by=1\) ,根据线性同余方程有解的条件可得 \(\gcd(a,b)\mid 1\) ,所以当且仅当 \(\gcd(a, 阅读全文
posted @ 2022-02-28 10:50 f(k(t)) 阅读(46) 评论(0) 推荐(0) 编辑
摘要:快速幂 简介 快速幂(Binary Exponentiation),是一个在 \(O(\log b)\) 的时间内计算 \(a^b\) 的小技巧,而暴力计算复杂度则为 \(O(n)\) 设 \(b\) 在二进制下表示为: \[ b=c_{k-1}2^{k-1}+c_{k-2}2^{k-2}+\cdo 阅读全文
posted @ 2022-02-26 00:00 f(k(t)) 阅读(80) 评论(0) 推荐(0) 编辑
摘要:题目 AcWing 220 给定整数 \(N\) ,求 \(1\leq x,y\leq N\leq 10^7\) 且 \(\gcd(x,y)\) 为素数的 \((x,y)\) 有多少对 分析 用朴素的算法求解显然复杂度为 \(O(N^2\log^2 N)\) ,所以考虑变形: \[ \begin{a 阅读全文
posted @ 2022-02-24 23:57 f(k(t)) 阅读(21) 评论(0) 推荐(0) 编辑
摘要:前置知识 Mex运算 设 \(S\) 表示一个非负整数集合,定义 \(\operatorname{mex}(S)\) 为求出不属于集合 \(S\) 的最小非负整数运算 公平组合游戏 若一个游戏满足: 两名玩家交替行动 在游戏进程的任意时刻,可以执行的合法行动与轮到哪名玩家无关 不能行动的玩家判负 则 阅读全文
posted @ 2022-02-21 23:37 f(k(t)) 阅读(216) 评论(0) 推荐(0) 编辑
摘要:简介 本文介绍了博弈论中的七种基础组合游戏,并给出了证明,如有错误之处欢迎指正 Nim博弈 定义 Nim博弈的定义是: 给定 \(n\) 堆物品,第 \(i\) 堆物品有 \(A_i\) 个,两人轮流取,每次可以任选一堆取走任意多个物品,可以取光但不能不取,最后把物品全部取完者胜利 判断先手是否有必 阅读全文
posted @ 2022-02-20 21:00 f(k(t)) 阅读(131) 评论(0) 推荐(1) 编辑
摘要:简介 Staircase-Nim博弈是Nim博弈的变形,它的定义是: 给定 \(n\) 堆物品,第 \(i\) 堆物品有 \(A_i\) 个,两人轮流取,每次可以从第 \(k\) 堆中取任意多个物品放到第 \(k-1\) 堆中,第 \(1\) 堆物品可以放到第 \(0\) 堆中,最后无法操作者失败 阅读全文
posted @ 2022-02-20 11:33 f(k(t)) 阅读(113) 评论(0) 推荐(0) 编辑
摘要:简介 Anti-Nim博弈是Nim博弈的变形,它的定义是: 给定 \(n\) 堆物品,第 \(i\) 堆物品有 \(A_i\) 个,两人轮流取,每次可以任选一堆取走任意多个物品,可以取光但不能不取,最后把物品全部取完者失败 判断先手是否有必胜策略 推理 先手必胜当且仅当: 每堆的物品数都为 \(1\ 阅读全文
posted @ 2022-02-20 10:32 f(k(t)) 阅读(321) 评论(0) 推荐(1) 编辑
摘要:简介 Nimk博弈是Nim博弈的变形,它的定义是: 给定 \(n\) 堆物品,第 \(i\) 堆物品有 \(A_i\) 个,两人轮流取,每次可以从不超过 \(k\) 堆的物品里取走任意多个物品,可以取光但不能不取,最后把物品全部取完者胜利 判断先手是否有必胜策略 推理 Nim博弈实际上就是 \(k= 阅读全文
posted @ 2022-02-19 12:00 f(k(t)) 阅读(534) 评论(0) 推荐(1) 编辑
摘要:简介 Nim博弈的定义是: 给定 \(n\) 堆物品,第 \(i\) 堆物品有 \(A_i\) 个,两人轮流取,每次可以任选一堆取走任意多个物品,可以取光但不能不取,最后把物品全部取完者胜利 判断先手是否有必胜策略 推理 证明:当 \(A_1\oplus A_2\oplus\cdots\oplus 阅读全文
posted @ 2022-02-15 17:43 f(k(t)) 阅读(345) 评论(0) 推荐(0) 编辑