上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 16 下一页
摘要: 一眼 dp。 设 \(f_i\) 表示从第 \(i\) 个位置出发能跳到的最大值。考虑从后往前枚举,对于当前位置 \(i\),其往前跳到的最大值即为 \(a\) 的前缀最大值。而如果先往后跳,那么就可以跳到比 \(a_i\) 小的位置。而这些位置能跳到的最大值已经计算好了,因此可以直接使用。转移的位 阅读全文
posted @ 2025-09-08 18:38 FormulaOne 阅读(8) 评论(0) 推荐(0)
摘要: 小清新构造题。 对 \(n\) 按奇偶性分类讨论。当 \(n\) 为偶数时,一个显然的构造形如 \(1,1,2,2,\cdots,n\div2,n\div 2\),相同的数之间距离是 \(0\) 和 \(1\),符合条件。 当 \(n\) 为奇数时,结合条件可知有一个数要出现 \(3\) 次。考虑将 阅读全文
posted @ 2025-09-08 18:37 FormulaOne 阅读(6) 评论(0) 推荐(0)
摘要: 提供一个比较好想的思路。 读题发现给定的序列是一个排列,即任意两个数互不相同。考虑 \(n\) 这个数,它只能与 \(n-1\) 交换,因此它要么在第 \(n\) 个位置上,要么在第 \(n-1\) 个位置上,且在后者情况下必须满足 \(p_n=n-1\) 才能有解。将 \(n\) 固定下来后,\( 阅读全文
posted @ 2025-09-08 18:37 FormulaOne 阅读(11) 评论(0) 推荐(0)
摘要: 为了方便思考,以下分析满足条件 \(i<j\)。对于 \(i>j,a_i<a_j\) 的情况,则转化为 \(i<j,a_i>a_j\)(前后对调)。 先分析 \(i<j,a_i<a_j\) 的情况。显然,必须要满足 \(a_i \le a_{i + 1} \le a_{i + 2} \le \cdo 阅读全文
posted @ 2025-09-08 18:36 FormulaOne 阅读(9) 评论(0) 推荐(0)
摘要: 题意 给定 \(n\) 个点,\(m\) 条有向边,每条有向边从 \(u_i\) 指向 \(v_i\),边权为 \(w_i\)。构造一个长度为 \(n\) 的整数序列 \(x\),满足: \(-10^{18} \le x_i \le 10^{18},1 \le i \le n\)。 \(x_{v_j 阅读全文
posted @ 2025-09-08 18:36 FormulaOne 阅读(13) 评论(0) 推荐(0)
摘要: 题意 给定两个长度为 \(N\) 的序列 \(A,B\),求 \(A_i+B_j(1 \le i,j \le N)\) 的最大值。 \(1 \le N \le 5 \times 10^5,1 \le \left| A_i\right|,\left| B_j\right| \le 10^9\)。 解法 阅读全文
posted @ 2025-09-08 18:35 FormulaOne 阅读(10) 评论(0) 推荐(0)
摘要: 题目保证了一开始图为 DAG,因此入度和出度为 \(0\) 的点都是存在的。那么先找一个出度为 \(0\) 的点,再把所有入度为 \(0\) 的点进入队列。每次取出队首,与出度为 \(0\) 的点,进行一次操作。操作后,这个点的出度变为 \(0\),可以在下次操作使用(这样也保证了每个点的出度不超过 阅读全文
posted @ 2025-09-08 18:35 FormulaOne 阅读(11) 评论(0) 推荐(0)
摘要: C \(N \le 8\),全排列即可。实现时可以使用 next_permutation。当然用康拓展开也没有问题。 以下代码时间复杂度 \(O(n!)\)。 #include <iostream> #include <cstdio> #include <bits/stdc++.h> using n 阅读全文
posted @ 2025-09-08 18:34 FormulaOne 阅读(7) 评论(0) 推荐(0)
摘要: 题目给定的是边权,不好处理,考虑把它转化为点权。具体地,在 dfs 的过程中,把边权当做子节点的点权即可,效果是一样的。接下来都以点权代替边权。 首先存在一个事实,任何一个点都不会经过 \(3\) 次或以上。从根节点向下遍历,从子节点向上回溯,一定会先遍历完一棵子树内的点,再去走另一棵子树内的点,因 阅读全文
posted @ 2025-09-08 18:34 FormulaOne 阅读(46) 评论(0) 推荐(0)
摘要: 有一个显然的贪心,即每次都取剩余权值和最大的一条路径。由于每个点的权值都只计算一次,因此这样做能够确保前 \(k\) 次得到的答案最大。假如不取大的而先取小的,那么答案一定不会优于前者(大的可能没取到),从而保证了贪心的正确性。 接下来考虑如何维护最大值。每一次求出最大值后,同时记录最大值对应的点的 阅读全文
posted @ 2025-09-08 18:33 FormulaOne 阅读(13) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 16 下一页