Loading

上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 33 下一页
摘要: 问题不难但是很有意思,记录一下。 description 给你两个排列 \(A, B\),每次可以消除 \(A\) 或者 \(B\) 的第一个元素,如果两个排列第一个元素不同可以同时消除,问最小操作次数。 \(1 \le n \le 10^6\)。 solution 考虑朴素 DP \(f_{i, 阅读全文
posted @ 2024-10-17 16:40 Alexande 阅读(18) 评论(0) 推荐(0)
摘要: 考了一道抽象 AGC,属实是逆天了。 description 令 \(M\) 为一正整数。 给出 \(2 N\) 个整数 \(a_1, a_2, \ldots , a_{2N}\),满足 \(0 \le a_i < M\)。 你需要把这 \(2 N\) 个整数分成 \(N\) 对,每一对 \((x, 阅读全文
posted @ 2024-10-17 14:33 Alexande 阅读(19) 评论(0) 推荐(0)
摘要: 考虑这么一个事情,要求最大值最小,所以考虑二分。 题目说至少 \(k\) 条要修建 \(1\) 号边,我们在二分的 check 中不妨保留所有边权 \(\le mid\) 的 \(1\) 号边,此时会形成若干个连通块,考虑这么一个事情,假设连通块数量为 \(p\),那么本质上能用到的 \(1\) 号 阅读全文
posted @ 2024-10-16 21:08 Alexande 阅读(9) 评论(0) 推荐(0)
摘要: 首先考虑对于操作序列的每个点求出一个最大时刻 \(lst_i\) 表示至少需要操作 \([lst_i, i]\) 的操作序列中的点,不难发现 \(lst_i\) 相当于所有后继结点中取 \(\max\)。 有了这个 \(lst\),我们可以对于每一个区间进行二维数点,这个具体可以离线树状树组维护。 阅读全文
posted @ 2024-10-16 14:29 Alexande 阅读(19) 评论(0) 推荐(0)
摘要: 首先不难发现就是在 LCA 那道题上加了一个指数。 考虑 LCA 那题做法的本质:我将区间差分,每次处理一个 \([1, l]\) 的前缀,依次对于每个前缀进行求解。 具体来说,这个式子的含义可以转化为我每次将一条 \(1\) 到 \(i\) 的链加一,然后离线查询时直接从 \(x\) 到 \(1\ 阅读全文
posted @ 2024-10-16 13:55 Alexande 阅读(20) 评论(0) 推荐(0)
摘要: 确实是一道很好的 DP,这警示我们要多刷 DP,早日成为思维神。 description solution 考虑这么一件事情,我肯定是最劣每次都会选到最大的,这样才能使它最大。 将 \(a_i\) 从大到小排序,假设最后砸开的集合为 \(b_1, b_2, ... b_m\),则最大代价为: \[\ 阅读全文
posted @ 2024-10-15 14:27 Alexande 阅读(22) 评论(0) 推荐(0)
摘要: 首先我们注意到这样一件事情:如果你已经有了一个正整数集合满足其两两之积为完全平方数,假设其中存在一个数 \(x\) 与不在这个集合内的数 \(y\) 的积为完全平方数,那么 \(y\) 与这个集合内所有数的积都是完全平方数,相当于 \(x \times y = z^2\) 这条性质具有传递性和可合并 阅读全文
posted @ 2024-10-08 10:31 Alexande 阅读(20) 评论(0) 推荐(0)
摘要: 首先我们注意到可以将 \(x\) 转化为 \(\lfloor \frac{x}{d} \rfloor\),然后我们可以将 d 转化为 \(1\) 的情况,\(d = 0\) 特判一下就好。 然后我们发现其实要求的是一个子区间使得: 整个子区间没有重复的数。 \(\max a_i - \min a_i 阅读全文
posted @ 2024-09-29 13:44 Alexande 阅读(13) 评论(0) 推荐(0)
摘要: 首先我们可以对于两个矩阵的每个正方形都求出其二维哈希值。 然后我们将同种长度的正方形放入一个 map 中,在另外一个正方形哈希时查询即可。 阅读全文
posted @ 2024-09-27 15:00 Alexande 阅读(12) 评论(0) 推荐(0)
摘要: 我们设 \(f_{i}\) 表示只考虑前 \(i\) 天的最大贡献,然后我们可以轻松列出一个 \(O(n^2m)\) 的转移式。 但是我们发现有用的状态只有 \(m\) 个,中间的状态实际上可以省略,于是你将复杂度优化到 \(O(m^3)\)。 你又注意到其中有一个数区间的过程可以用线段树优化,于是 阅读全文
posted @ 2024-09-27 14:55 Alexande 阅读(11) 评论(0) 推荐(0)
摘要: 首先发现是奇偶性问题,我们考虑如何从这一方面入手。 其实我们可以钦定整棵树的奇数层必须加,偶数层必须减,奇偶分别维护两棵树状数组,然后如果有的修改不满足这个条件,我们可以将其修改的值 \(v\) 取反,这样我们就能够保证一个修改问题可以转化为全局问题了。 当然,如果我们生硬的去做这个题,我们对于奇数 阅读全文
posted @ 2024-09-27 14:51 Alexande 阅读(11) 评论(0) 推荐(0)
摘要: 首先对于修改来说,注意到 \(a\) 是一个不下降子序列,所以每次更改一个前缀其实是将这段前缀的一个前缀全部赋值为 \(y\),然后其余的数不做更改。 然后考虑查询怎么做,注意到我们可以每次二分出能到达的最左的端点,然后继续二分下一个段的开头在哪里,不难发现段数最多只有 \(\log V\) 段,而 阅读全文
posted @ 2024-09-27 14:46 Alexande 阅读(15) 评论(0) 推荐(0)
摘要: 容易发现最少的补图的出度的一个点只会有 \(\le \frac{2m}{n}\) 的出度,也就是说设出度最小的点为 \(pos\),那么至少有 \(n - \frac{2m}{n}\) 个点与 \(pos\) 在同一个连通块内,然后对于剩下不与 \(pos\) 相连的 \(\frac{2m}{n}\ 阅读全文
posted @ 2024-09-20 15:40 Alexande 阅读(31) 评论(0) 推荐(0)
摘要: 首先我们把两个关键字存入 pair 中,然后直接该怎么转移就怎么转移就好了。 然后输出方案,记录一下前驱就好。 阅读全文
posted @ 2024-09-20 15:36 Alexande 阅读(29) 评论(0) 推荐(0)
摘要: 首先我们不难发现,我们随机一条边的权值 \(+1\),那么最短路的变化量不高于 \(1\),所以我们不妨按照一个固定的顺序将所有边 \(+1\),不难发现此时最短路的值单调不降,于是我们二分 \(+1\) 个数,按照顺序 \(+1\),然后求解最短路即可。 阅读全文
posted @ 2024-09-19 16:37 Alexande 阅读(10) 评论(0) 推荐(0)
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 33 下一页