该文被密码保护。 阅读全文
posted @ 2026-01-02 13:42 OI_emperor 阅读(0) 评论(0) 推荐(0)
摘要: Peddler 思路分析 这道题是个 dp 题。我们定义一个数组 \(f\),\(f_i\) 表示从 \(i\) 前面的点走到 \(i\) 这个点,我们假设买黄金一定要在前面买,那么最便宜是多少钱。 我们假设在 \(l\) 这个点把黄金卖掉,那么我们赚的钱就是 \(a_l - f_i\)。 但是我们 阅读全文
posted @ 2026-01-02 13:41 OI_emperor 阅读(5) 评论(0) 推荐(0)
摘要: 前提 \(Miller-Rabin\) 素数测试算法需要如下两个引理: 费马小定理 设 \(p\) 是素数,\(a\) 为整数,且 \((a,p)=1\),则 \(a^{p-1}\equiv 1 \pmod p\) Q:求证? A: 考虑 \(1,2,3,\dots,(p-1)\) 这 \((p-1 阅读全文
posted @ 2026-01-02 13:41 OI_emperor 阅读(4) 评论(0) 推荐(0)
摘要: 这道题目的答案可以二分,那为什么呢? 因为我们假设找到一个 \(S\) 满足答案,那么我们让 \(S\) 继续变大,那么 $ p_i \times S \ge \lvert x_i - x_j \rvert + \lvert y_i - y_j \rvert $ 这个公式依旧成立。 但是我们让 \( 阅读全文
posted @ 2026-01-02 13:41 OI_emperor 阅读(1) 评论(0) 推荐(0)
摘要: 这道题让我们要 \(x\) 最大,那么什么样的数最大呢?那肯定是位数越多的数越大。那我们在 \(x\) 后面加上什么数字代价最小? 假设我们在 \(x\) 后面放 \(j\) 代价最小,那么我们最多放 \(\lfloor \dfrac{N}{C_j} \rfloor\) 位。那么在位数最多的情况下, 阅读全文
posted @ 2026-01-02 13:41 OI_emperor 阅读(2) 评论(0) 推荐(0)
摘要: 对于本题的数据范围,大家可能难以下手。 我们可以向一件事,在将这 \(N\) 个数的最小公倍数分解质因数后,每个数分解质因数里面的素因子都会出现。那它的次数是这 \(N\) 个数里面相应的素因子的次数的最大值。 我们把一个数变为 \(1\) 对于最小公倍数的影响,如果他这个质因数 \(p_{i,m_ 阅读全文
posted @ 2026-01-02 13:40 OI_emperor 阅读(1) 评论(0) 推荐(0)
摘要: 这道题是一道非常难的关于树的题目。 前置芝士 思路 我们要先字符串处理(也就是输入,预处理等事情。较简单,不在此描述了)。接着,我们在建一颗表达式树。我们假设在每次询问时,都修改表达式树,然后算出结果。这时我们会发现 TLE 了,因为每次遍历都是 \(\mathcal O(n q)\),所以我们用到 阅读全文
posted @ 2026-01-02 13:38 OI_emperor 阅读(2) 评论(0) 推荐(0)
摘要: 这道题乍一看,很多人(包括我)就会想到贪心。 但是我们仔细想一下,正着贪心(也就是摆渡车能开就开)这个是不行的。那倒着贪心呢(也就是让最后一个人不等待,然后一直往前推 \(m\) 时刻)?也不行,这里有一个反例。 4 5 1 1 1 5 正确输出 1 第二种贪心方式的输出 12 所以我们用到了 DP 阅读全文
posted @ 2026-01-02 13:38 OI_emperor 阅读(2) 评论(0) 推荐(0)
摘要: 这道题是一个动态规划的题目。 我们首先令 \(f_{i,j}\) 为在前 \(i\) 家住户中选了 \(j\) 家住户,那么转移为 $$ans_j=\max(f_{i,j}+2S_i)$$。 那么如果我们按照上面打的话,我们会 TLE。 紧接着,我们可以使用后缀最大值将时间复杂度变为 \(\math 阅读全文
posted @ 2026-01-02 13:37 OI_emperor 阅读(2) 评论(0) 推荐(0)
摘要: 这道题我用了最短路。 这道题数据较大,也涉及到了奇偶性,我这里用了最短路进行了预处理。我们先拆点,再用奇偶性算出这个点是否能在 \(\le L\) 步到达一号点。 #include <bits/stdc++.h> using namespace std; const int N=201000; in 阅读全文
posted @ 2026-01-02 13:37 OI_emperor 阅读(2) 评论(0) 推荐(0)
摘要: 这道题一定要好好读题!我就被坑了 这道题是一道模拟+dp 的题目。 首先我们一个个枚举行选出了哪些行,接着我们 dp 列,令 \(f_{i,j}\) 为前 \(i\) 列选了 \(j\) 列,并且选了第 \(i\) 列,再令前面选的一个是 \(k\),那么转移是 \(f_{i,j} = \min(f 阅读全文
posted @ 2026-01-02 13:37 OI_emperor 阅读(2) 评论(0) 推荐(0)
摘要: 前置芝士 在题目中,*号其实为&,⊕号其实为|。 对于这种表达式的题目,我们一般都要建一棵表达式树。这道题我也用到了树形 DP。其实大家应该都接触到过,在题目中叫你求这颗二叉树的大小,在某种意义上也是树形 DP。怎么整呢?我们在每个子树的空格处填入 \(0\) 和 \(1\),得到结果 \(0\) 阅读全文
posted @ 2026-01-02 13:36 OI_emperor 阅读(2) 评论(0) 推荐(0)
摘要: 这道题我用的是前缀和来做的。 如果我们每次在需要输出时进行将蛇的总长度(除了最后一条)加一遍,这个时候,我们会发现代码会 TLE。 我们用前缀和。我们首先使用 \(p\) 数组将这几条蛇的总长度的前缀和记录下来,我们再用双指针记录队列的头和尾。这时 ,\(p_{f-1}\) 就是所有出了这个队列的蛇 阅读全文
posted @ 2026-01-02 13:36 OI_emperor 阅读(2) 评论(0) 推荐(0)
摘要: 题目大意 有 \(N\) 只鸽子,编号从 \(1\) 到 \(N\) ,有 \(N\) 个鸽巢,编号从 \(1\) 到 \(N\) 。最初,鸽子 \(i\) 在 \(1\leq i\leq N\) 的巢 \(i\) 中。 您会收到 \(Q\) 个查询,您必须按顺序处理这些查询。查询有两种类型,每种都 阅读全文
posted @ 2026-01-02 13:34 OI_emperor 阅读(1) 评论(0) 推荐(0)
摘要: 这是一道贪心题。 每一天优先吃价值大的水果一定是最优的,我们假设两个水果的价值为 \(y\) 和 \(x\),其中 \(y>x\),那么 \(x-\lfloor\sqrt x\rfloor\le y-\lfloor\sqrt y\rfloor\),所以价值大的水果一天流失的价值是不小于价值小的水果一 阅读全文
posted @ 2026-01-02 13:33 OI_emperor 阅读(2) 评论(0) 推荐(0)
摘要: 这是一道简单的构造题。 我们注意到题目中并未说字符不能一样,所以我们可以最大化前面的字符 \(s_1,s_2\dots s_i\)(\(1\le i\le n\))的差距使得前面字符的差距为 \(k\),然后剩下的字符就跟 \(s_j\)(\(i+1\le j \le n\))一样。 我们每次记一个 阅读全文
posted @ 2026-01-02 13:33 OI_emperor 阅读(1) 评论(0) 推荐(0)
摘要: 很显然,这是一道构造题。 思路 我们以惊人的注意力发现,其实答案只有 \(4\) 种情况: 全是 \(1\),任意两个加起来都是 \(2\)。 在 \(m\) 个 \(1\) 后面还有一个数 \(x\),其中 \(x+1\) 为质数。 有两个数 \(x\) 和 \(y\),其中 \(x+y\) 为质 阅读全文
posted @ 2026-01-02 13:32 OI_emperor 阅读(2) 评论(0) 推荐(0)
摘要: 我们观察数据范围发现若 \(n\) 为完全平方数,则答案为 \(\sqrt{n} \times 3 - 2\)。 我们容易发现对于任意相邻两个完全平方数所组成的区间 \(x^2\sim (x+1)^2 - 1\) 中合法的数字仅仅只有三个,那么 \(1\sim n\) 这个区间就有 \((\sqrt 阅读全文
posted @ 2026-01-02 13:31 OI_emperor 阅读(4) 评论(0) 推荐(0)