随笔分类 -  做题记录

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 26 下一页
摘要:洛谷传送门 AtCoder 传送门 考虑若 \(n\) 是奇数怎么做。枚举 Alice 第一次选的数 \(a_i\),然后考虑把剩下的数两两结成一个匹配,若 Bob 选了其中一个,Alice 就选另一个。容易发现排序后奇数位和它右边的偶数位匹配最优。那么设奇数位的和为 \(A\),偶数位的和为 \( 阅读全文
posted @ 2023-10-02 08:50 zltzlt 阅读(50) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 看到这种操作乱七八糟不能直接算的题,可以考虑最短路。 对于 \(a, b, c, d, m\) 按位考虑,发现相同的 \((a, b, m)\) 无论如何操作必然还是相同的。 于是考虑对于每个可能的 \((0/1, 0/1, 0/1)\),所有终态有 \((c = 0/1, 阅读全文
posted @ 2023-10-01 17:08 zltzlt 阅读(141) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 若图中存在点使得删去它后 \(S, T\) 不连通,那么 A 可以一步获胜。 否则,双方都不会删去一个点使得删去它后会产生一个点使得删去它后 \(S, T\) 不连通。那么到最后图上会剩下两条 \(S \to T\) 的不交路径。此时一方无论如何操作都会使得另一方 阅读全文
posted @ 2023-09-30 19:46 zltzlt 阅读(87) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 用 \((x, y)\) 表示 \(Ax + By\),那么这个等价于 SB 树。 那么直接在 SB 树上二分,遍历一遍找到 \(n\) 个点就好了。可以采用类似线段树查询的方式。 于是现在还剩下一个子问题:给定 \(a, b\),求 \(ax + by \le 阅读全文
posted @ 2023-09-28 15:54 zltzlt 阅读(43) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 非常妙的题。 先直观感受一下,显然当 \(M\) 大到一定程度后,\([0, M]\) 的所有数都能被取到。考虑 \(V \gets V + Ax + By\),其中 \(V + Ax + By \in [0, M]\)。如果 \(x, y\) 都是正数显然可以取 阅读全文
posted @ 2023-09-27 20:59 zltzlt 阅读(36) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 看到和度数有关的(基环)树计数,可以想到 Prufer 序。 如果要计数一棵树,那么答案就是 \(\binom{n - 2}{d_1 - 1, d_2 - 1, \ldots, d_n - 1}\)。因为度数为 \(d\) 的点在 Prufer 序中恰好出现 \( 阅读全文
posted @ 2023-09-27 10:38 zltzlt 阅读(34) 评论(0) 推荐(0)
摘要:洛谷传送门 首先特判 \(a_i = 0\),然后: \(\begin{aligned} f_k(x) & = \sum\limits_{i = 1}^k |a_i x + b_i| \\ & = \sum\limits_{i = 1}^k a_i |x + \frac{b_i}{a_i}| \en 阅读全文
posted @ 2023-09-25 15:48 zltzlt 阅读(41) 评论(0) 推荐(0)
摘要:QOJ 传送门 考虑 \(1\) 到其他关键城市的最短路的并是一棵以 \(1\) 为根的外向树,考虑在外向树上从叶子往根 dp。 设 \(f_{u, i, S}\) 为当前在点 \(u\),已经翻修了 \(i\) 条道路,当前已经经过的关键点集合为 \(S\),最短路最大值的最小值。 转移有两种情况 阅读全文
posted @ 2023-09-25 11:46 zltzlt 阅读(87) 评论(0) 推荐(0)
摘要:QOJ 传送门 考虑从低位向高位 dp,设 \(f_{i, S}\) 为考虑到从低到高第 \(i\) 位,当前每个数超出上界的情况为 \(S\)。 转移可以枚举这一位填的数: 若 \(a_j = 0, r_j = 1\),那么这一位一定不会超出上界; 若 \(a_j = 1, r_j = 0\),那 阅读全文
posted @ 2023-09-25 11:37 zltzlt 阅读(60) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 最小交换次数等于 \(n - \text{环数}\)。所以题目要我们统计把 \(p, q\) 补全成排列,连边 \(p_i \to q_i\),环数 \(= i\) 的方案数。 考虑把边根据 \(p_i, q_i\) 的是否已知状态分成四类: \(p \to q\) \(p 阅读全文
posted @ 2023-09-24 21:01 zltzlt 阅读(27) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 考虑一个子问题:求从某个点 \(u\) 能到达的点数。 如果要精确地计算出来,最优解法只能是 \(O(\frac{n^2}{w})\) 的 bitset。但是我们还没有利用到题目的性质,我们只需要判断一个点是否至多有一个点互不可达。 考虑拓扑排序的过程,队列里面的点两两互不 阅读全文
posted @ 2023-09-24 18:51 zltzlt 阅读(21) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 考虑一条 \(1 \to i\) 的路径是否在最小生成树上。 称边权为 \(a\) 的边为轻边,边权为 \(b\) 的边为重边。 轻边若不成环则一定在最小生成树上,因此先把轻边合并,这样形成了若干连通块。 那么如果两点在一个连通块,它们只能通过轻边互达。 同时,因为是树上路 阅读全文
posted @ 2023-09-23 16:07 zltzlt 阅读(28) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 若 \(2\min\limits_{i = 1}^m a_i < \max\limits_{i = 1}^n a_i\) 就无解,因为根据排列的性质必然存在 \(yxxxy\) 或两端 \(xxyy\) 的情况,并且若这个条件不满足,就可以构造一组解。 考虑最小化 阅读全文
posted @ 2023-09-22 21:23 zltzlt 阅读(26) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 考虑若重排好了 \(a\),如何判断可不可行。显然只用把 \(b\) 排序,把 \(\min(a_{i - 1}, a_i)\) 也排序(定义 \(a_0 = a_{n + 1} = +\infty\)),按顺序逐个判断是否大于即可。 这启示我们将 \(\min( 阅读全文
posted @ 2023-09-21 17:57 zltzlt 阅读(37) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 过程相当于是将 \(p\) 重排列。设 \(b_i\) 为 \(p\) 中数为 \(i\) 的位置。考虑当前填的数 \(x\) 贡献的逆序对数,相当于是当前所有已经填入 \(p\) 的数 \(y\),都有 \([b_y > b_x]\) 的贡献。 考虑 \(p_{q_i} 阅读全文
posted @ 2023-09-20 11:21 zltzlt 阅读(26) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 首先将 \(a\) 从小到大排序,设 \(p_i\) 为排序后的 \(a_i\) 位于原序列第 \(p_i\) 个位置,\(x_i\) 为要填的排列的第 \(i\) 个数。 设 \(A = \prod\limits_{i = 1}^n (a_i - i + 1)\ 阅读全文
posted @ 2023-09-20 10:12 zltzlt 阅读(25) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 发现如果取模中途没有出现 \(0\),则可以 \(x \gets x + 1\)。 由此设 \(f_{i, j}\) 为考虑 \([1, i]\),最后取模得到的范围是 \([0, j]\)。 设最后的结果为 \(x\),中间结果减去 \(x\) 和为 \(y\),那么对答 阅读全文
posted @ 2023-09-19 21:13 zltzlt 阅读(52) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 悲,赛时代码赛后被 hack 了。 发现对子段排序不会使排列的字典序变大。因此若存在长度 \(\ge k\) 的递增子段直接输出原排列。 否则答案与原排列的 \(\text{LCP}\) 至少为 \(n - k\)(可以通过对 \([n - k + 1, n]\) 阅读全文
posted @ 2023-09-19 08:09 zltzlt 阅读(106) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 看到 \(a_{a_i}\) 和 \(a_i \in [1, n]\),果断连边 \(i \to a_i\),得到内向基环森林。 那么每次相当于把 \(a_i\) 变成自环,连边 \(i \to a_{a_i}\)。 但是每次操作都改变图的形态很不好办,考虑打标记。 每次 阅读全文
posted @ 2023-09-17 19:46 zltzlt 阅读(35) 评论(0) 推荐(0)
摘要:洛谷传送门 考虑一个前置问题:给定 \(a, b, n\),求 \(\sum\limits_{i = 1}^{n} (ia \bmod b)\)。 根据 \(x \bmod y = x - y \left\lfloor\frac{x}{y}\right\rfloor\) 可以化简式子: \[\sum 阅读全文
posted @ 2023-09-15 15:30 zltzlt 阅读(80) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 26 下一页