上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页
摘要: 思路 发现对于无解的情况,当且仅当同一种字符出现次数大于 \(\frac{n}{2}\) 或者 \(n\) 为奇数。 然后统计每一种有字符的冲突对数,记 \(vis_i\) 表示字符 \(i\) 的冲突对数,并记 \(num = \max \{vis_i\}\),\(cnt = \sum vis_i 阅读全文
posted @ 2024-06-25 12:27 WBIKPS 阅读(46) 评论(0) 推荐(0)
摘要: 思路 首先发现对于每一次切割,长和宽只会变化一次。 所以,答案最多只会有两种情况(其中 \(S\) 为矩形的面积): \((\max\{a_i\},\frac{S}{\max\{a_i\}})\),其中需要满足 \(S \bmod \max\{a_i\} = 0\)。 \((\frac{S}{\ma 阅读全文
posted @ 2024-06-25 12:27 WBIKPS 阅读(19) 评论(0) 推荐(0)
摘要: 因为我是彩笔,所以我不会组合数,只会暴力。 思路 由 Easy Version 得到的状态转移方程: \[ dp_{i,j} = \left\{\begin{matrix} \sum_{p = 1}^{p < i}{dp_{p,j - 1}} & (j \bmod k = 1)\\ \sum_{p 阅读全文
posted @ 2024-06-25 12:27 WBIKPS 阅读(22) 评论(0) 推荐(0)
摘要: 思路 观察一下,发现对于一个拥有 \(n\) 个节点的 \(k\) -flowers,\(k\) 一定为 \(\sqrt n\)。 因为考虑只观察图中标红区域,对于一个 \(k\) -flowers,一定会有 \(k\) 个,并且它们的大小均为 \(k\),而总节点数为 \(n\),因此 \(k = 阅读全文
posted @ 2024-06-25 12:27 WBIKPS 阅读(28) 评论(0) 推荐(0)
摘要: 思路 假设原题目中的 \(n\) 在本文中为 \(num\),则原长方形的长 \(m = f_{num + 1}\) 和宽 \(n = f_{num}\)。 显然对于最初始的长方形,显然是要将一个 \(f_{num} \times f_{num}\) 的长方形丢进去的,并且要么放最左边,要么放在最右 阅读全文
posted @ 2024-06-25 12:27 WBIKPS 阅读(27) 评论(0) 推荐(0)
摘要: 题意 给定一个有 \(n\) 张牌的牌堆,其中有两种牌: 英雄牌:权值为 \(0\)。 奖励牌:权值不为 \(0\)。 你要从牌堆顺序取牌(从左至右)。 当你取到奖励牌时,你有两种选择:放入新的牌堆的顶部;弃置这张牌。 当你取到英雄牌时,从新的牌堆顶取出一张牌,将其权值加入答案,并弃置。 求:答案的 阅读全文
posted @ 2024-06-25 12:27 WBIKPS 阅读(19) 评论(0) 推荐(0)
摘要: 题意 给定一个字符串 \(S\),你可以进行 \(k\) 次操作,每次操作你可以选定一个 \(i\),并将 \(S_i\) 的大小写转换。 求:操作后,最多有几组配对的字符。(配对的定义是:对于一个字符,如果有大写,有小写被称之为一组。例如:A 和 a 为一组。) 思路 你在读入的时候,你预处理一个 阅读全文
posted @ 2024-06-25 12:27 WBIKPS 阅读(27) 评论(0) 推荐(0)
摘要: 题意 给定一个长度为 \(n\) 序列 \(a\),现有 \(q\) 次操作,对于每一次操作有: 1 l r:表示将 \(a_i(l \leq i \leq r)\) 改为 \(a_i\) 的数位之和。 2 x:输出 \(a_x\)。 思路 可以用一个类似于线段树懒标记的思想,如果不用输出就不修改。 阅读全文
posted @ 2024-06-25 12:27 WBIKPS 阅读(33) 评论(0) 推荐(0)
摘要: 题意 给定一个长度为 \(n\) 的序列 \(a\),你可以选定一个数 \(i(1 \leq i < n)\),使得 \(a_i = -a_i\),\(a_{i + 1} = -a_{i + 1}\)。 问:进行若干次操作后,算出 \(\max(\sum_{i = 1}^{n}a_i)\)。 思路 阅读全文
posted @ 2024-06-25 12:27 WBIKPS 阅读(35) 评论(0) 推荐(0)
摘要: 题意 定义函数 \(\operatorname{f}(x)\) 表示字符串 \(x\) 中不同字符的数量。 现给定一个字符串 \(S\),将它分割为两个字符串 \(a,b\)。求出:\(\max(\operatorname{f}(a) + \operatorname{f}(b))\)。 思路 我们可 阅读全文
posted @ 2024-06-25 12:27 WBIKPS 阅读(31) 评论(0) 推荐(0)
摘要: 思路 正难则反,假设每一个棋子都要走过每一个点,所需的步数显然是 \(4(n - 1)\)。然后考虑对于每一个棋子那些点是必走的。 如果 \(x\) 子树内有这个棋子需要到达的点,则 \(x\) 必走。 对于另一个棋子在 \(x\) 子树内必走过的深度最深的点的深度记作 \(md\),如果 \(md 阅读全文
posted @ 2024-06-25 12:27 WBIKPS 阅读(21) 评论(0) 推荐(0)
摘要: 思路 首先记所有 \(1\) 的数量为 \(num\),那么显然有当 \(n \bmod num \neq 0\) 时无解。那么考虑有解的时候该怎么办。 显然对于每一个 \(a_i\) 序列中,最终 \(1\) 的数量为 \(\frac{num}{n}\),记作 \(t\);并记 \(cnt_i\) 阅读全文
posted @ 2024-06-25 12:26 WBIKPS 阅读(30) 评论(0) 推荐(0)
摘要: UPD 23/10/3 更新的对思路的描述,以及代码。 思路 对于每一个 \(a_i = 0\),如果我们将它变为 \(x\),都可以直接将 \(i \sim n\) 位置上的前缀和加 \(x\)。 设 \(a_j\) 是 \(a_i\) 后第一个 \(0\),那么,在 \(j\) 时同样有上述规律 阅读全文
posted @ 2024-06-25 12:26 WBIKPS 阅读(19) 评论(0) 推荐(0)
摘要: 思路 首先我们需要看到题目一个特殊的地方:这个序列中只存在 \(0\) 和 \(1\)。 那么,我们不难发现最终的答案一定是形如下面的序列:\(0,\dots,0,1,\dots,1\)。 知道了这些,就很好想了。我们从后往前枚举,如果当前一位为 \(0\) 了,就从 \(last \sim i\) 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(19) 评论(0) 推荐(0)
摘要: 思路 做这道题之前,首先要知道一个性质:\(a \operatorname{or} b \geq a\)。那么,我们就能得出一个结论:经过一定顺序的排列,最多经过 \(\lceil \log_2^{a_{\max}} \rceil\) 个数就能让前缀或的值达到最大值。 我们不妨令有一个位置 \(i\ 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(46) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页