摘要: 题目描述 对于一个由字母“j”和“z”组成的字符串,可以任意交换两个字符的位置不超过k次,求最多能出现多少个“jz”字串。 题解 动态规划题。 设f[i][j][k][0/1]表示到第i位,前面交换了j个“j”,交换了k个“z”,且第i位是j(用0表示)或z(用1表示)。 当j=k时即为可行解。 为 阅读全文
posted @ 2024-04-17 22:17 ZWZWW 阅读(17) 评论(0) 推荐(0)
摘要: 题目描述 求最长下降子序列长度,以及最长下降子序列的个数。 (构成的序列一样的时候,视为同一种最长下降子序列) 题解 n不超过5000,n^2复杂度即可解决该问题。 主要在于如何统计最长下降子序列个数。 可以设数组t[i]表示以i为结尾的最长下降子序列个数,在更新f[i]的时候顺便更新。 t[i]= 阅读全文
posted @ 2024-04-17 21:12 ZWZWW 阅读(12) 评论(0) 推荐(0)
摘要: 题目描述 有n只兔子,每个兔子上有一个数ai。要将所有兔子分为白色和绿色两堆,使所有白色兔子的数对绿色兔子取余结果相等。求绿色兔子的最大数量。 题解 考虑一种情况:把所有除了最小值的数都涂为绿色,此时显然满足条件。 对于一般情况:可以枚举白绿兔子的分割线x。 对于小于x,试将其全部涂为白色,计算x前 阅读全文
posted @ 2024-04-17 16:49 ZWZWW 阅读(52) 评论(0) 推荐(0)
摘要: 题目描述 给定n个字符串,有以下几种操作: 打出一个字符,花费1。 删除一个字符,花费1。 复制并打出一个之前打出过的字符串,花费k。 求打出所有n个字符串的最小花费。 (注意,打出顺序和字符串输入的顺序不必相同) 题解 显然,操作3需要算字符串的最长公共子序列来处理。 这个问题可以转换为最小生成树 阅读全文
posted @ 2024-04-15 22:01 ZWZWW 阅读(58) 评论(0) 推荐(0)
摘要: 题目描述 给定字符串T,要求求字符串S,满足以下条件: S是T的前缀 S和T运行某段代码的哈希值相同(代码见下) T只包含小写字母 S和T的长度差不超过50 哈希代码: //Language C++14 long long mod=5999993; long long gethas(string s 阅读全文
posted @ 2024-04-15 20:32 ZWZWW 阅读(52) 评论(0) 推荐(0)
摘要: 题目描述 给定一个包含n个整数的数组a。定义一个操作如下: 从数组a中选择k个整数,将它们删除,并将它们的和追加到数组末尾。 如果数组A比数组B(长度相同)字典序大,那么在A和B第一次不同的位置上,A的数字比B对应位置上的数字要大。例如,[0, 1, 14, 0]比[0, 1, 5, 6]字典序大, 阅读全文
posted @ 2024-04-12 22:18 ZWZWW 阅读(39) 评论(0) 推荐(0)
摘要: 题目描述 Cirno被推荐了一个游戏,她决定今天和大妖精一起玩。最初,有一个包含2 × n个顶点和m条边的图。在每一轮中,Cirno和大妖精都必须选择一个不同的顶点。所选顶点的度数必须相同。然后,Cirno和大妖精将从图中移除它们。 现在Cirno想知道是否有办法从给定的图中移除所有顶点。如果存在, 阅读全文
posted @ 2024-04-12 15:57 ZWZWW 阅读(38) 评论(0) 推荐(0)
摘要: 题目描述 rqdmap和他的小女友正在玩一个游戏。有n个正整数。这两个人轮流取数字。为了显示他的绅士风度,rqdmap要求他的小女友先取数字。 每当rqdmap的小女友可以选择剩下的数字中的任意一个来拿走(记为x),rqdmap需要从剩下的数字中选择一个数字(记为y),并且满足以下两个条件中的至少一 阅读全文
posted @ 2024-04-11 20:14 ZWZWW 阅读(53) 评论(0) 推荐(1)