12 2024 档案

摘要:算法 容斥. 思路 借用这里的 Trick 2, 我们将所有偶数位的 \(B \rightarrow A\) , \(A \rightarrow B\). 那么原问题的限制就转化为: 不能删相邻的 \(AA\) 或 \(BB\) , 求最终可以删空的方案数. 考虑这个限制的充要条件是什么. 对于每一 阅读全文
posted @ 2024-12-30 10:39 Steven1013 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题面 & 题解 T1 算法 折半搜索. 思路 因为 \(a, b \le 10^{11}\), 直接搜索肯定不行, 考虑折半然后合并. 搜索是简单的, 怎么合并呢? 假设左半部分是 \(a\), 右半部分是 \(b\), 因为要满足是 \(x\) 的倍数, 所以 \(a \times 10^k + 阅读全文
posted @ 2024-12-28 17:20 Steven1013 阅读(3) 评论(0) 推荐(0) 编辑
摘要:公式 公式 1 \[f(n) = \sum_{i = 0}^n (-1)^{n - i} \binom{n}{i} g(i) \Leftrightarrow g(n) = \sum_{i = 0}^n \binom{n}{i} f(i) \]证明: \[\because g(i) = \sum_{j 阅读全文
posted @ 2024-12-27 21:04 Steven1013 阅读(2) 评论(0) 推荐(0) 编辑
摘要:前置知识: 二叉搜索树, 堆 概念 笛卡尔树是一种二叉树, 每一个节点有 \((w, k)\) 两个属性 (在算法竞赛中, \(k\) 通常为数组下标, \(w\) 为权值), 其中 \(w\) 满足堆的性质, \(k\) 满足二叉搜索树的性质. 如果笛卡尔树的 \((k,w)\) 键值确定, 且 阅读全文
posted @ 2024-12-26 20:25 Steven1013 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题面 & 题解 T1 算法 二分, 贪心. 思路 假设最终的平均数为 k, 那么我们一定会贪心地将所有 \(< k\) 的数选进去, 然后 \(> k\) 的数肯定会贪心地选若干个最小的. 选择的一定是一段前缀, 具体地, 将数组排序, 枚举一个前缀 \([1, i]\), 假设选择其中的所有数, 阅读全文
posted @ 2024-12-26 19:23 Steven1013 阅读(2) 评论(0) 推荐(0) 编辑
摘要:原题链接 题面 给定序列 \(a\), \(b\), 每次操作可以任选 \(1 \le l \le r \le n\), 令 \(x = \min_{i = l}^r b_i\), 使得 \(a_i = \frac{a_i}{x},\ l \le i \le r\). 算法 笛卡尔树, 树上 dp. 阅读全文
posted @ 2024-12-23 08:45 Steven1013 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题面 & 题解 T1 算法 树形 dp. 思路 由于给定的仇视关系为一棵树, 所以我们可以考虑在这颗树上进行 dp. 考虑设 \(f_{u, i}\) 表示当前枚举到第 \(u\) 个人, ta的烟花从 \(l_i + i\) 开始定制的最小仇视值. 那么就有以下转移方程: \[f_{u, i} = 阅读全文
posted @ 2024-12-19 15:58 Steven1013 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题面 & 题解 T1 算法 背包, 动态规划. 思路 考虑到 \(w_i \le 1000\), 可以得到状态 \(f_{i,j}\) 表示到第 i 个, 已经有 j 能力的最大精彩度. 然后就是正常 01 背包了. 最后将两序列相同的 j 合并, 最后取最大值即可. 时间复杂度 \(\mathca 阅读全文
posted @ 2024-12-17 18:49 Steven1013 阅读(1) 评论(0) 推荐(0) 编辑
摘要:题面 T1 先贴个暴力代码. #include "iostream" #include "algorithm" #include "cstring" using namespace std; constexpr int N = 2e3 + 1, M = 4e5 + 1; inline int rea 阅读全文
posted @ 2024-12-12 19:10 Steven1013 阅读(3) 评论(0) 推荐(0) 编辑
摘要:原题链接 前言 不是 \(\Theta (1024 \times n)\) 真能水过去? So what's the point of allowing \(\Theta (1024 \times n)\) solutions to E???? 算法 动态规划, 期望. 思路 读题, 发现 \(1 阅读全文
posted @ 2024-12-07 11:44 Steven1013 编辑
摘要:题面 & 题解 T1 构造题. 这篇写的很好, 我就是听他给我讲懂的. %%% #include "iostream" #include "string" using namespace std; constexpr int N = 1e5 + 10, mod = 1e9 + 7; int n, j 阅读全文
posted @ 2024-12-04 20:31 Steven1013 阅读(4) 评论(0) 推荐(0) 编辑
摘要:又要熬夜. A. Greedy Monocarp 题意 你有 \(n\) 个箱子, 每个箱子最初有 \(a_i\) 个硬币. 现在有一个人, 他会贪心地按硬币多少从大到小拿箱子, 最终使得总共拿取的数量至少为 \(k\). 你现在想要他拿最少的硬币, 所以需要向里面添加硬币. 求必须添加的最少数量. 阅读全文
posted @ 2024-12-03 00:25 Steven1013 阅读(159) 评论(0) 推荐(0) 编辑
摘要:原题链接 算法 贪心, 模拟. 思路 特殊性质 A 因为 \(s_1\) 字符串内的字符都相同, 所以无论 \(s_2\) 中怎么排, 最大的匹配数都是不变的. 特殊性质 B \(t_1 = t_2\), 也就是两字符串能够交换的位置相同, 而每一段只能在内部交换, 也就是每一个 \(t_i=0\) 阅读全文
posted @ 2024-12-01 20:01 Steven1013 阅读(4) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
深色
回顶
展开