重生之我要当分子
重生之我要当分子
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
重生之我要当分子的博客
全部文章
(共295篇)
题解 | 疯狂序列
解题思路 我们需要找到一个无限长的数字序列,其中数字k在该序列中正好出现k次。序列的前几项如下: 1 2, 2 3, 3, 3 4, 4, 4, 4 5, 5, 5, 5, 5 ... 可以观察到,数字k的最后一个出现位置是1 + 2 + 3 + ... + k = k * (k + 1) / ...
2025-01-01
0
9
题解 | 挑选镇长
解题思路 我们需要找到一个镇长候选人,满足以下条件: 所有人都认识这个候选人。 这个候选人不认识其他任何人(除了自己)。 为了解决这个问题,我们可以使用图的概念: 将每个人视为图中的一个节点。 将“认识”关系视为有向边。 算法步骤: 构建图:使用两个数组cd和rd来记录每个人的出度和入度。...
2025-01-01
0
9
题解 | 回文
解题思路 这是一个回文扩展问题。我们需要找到一个最短的回文,使得给定字符串s可以通过在末尾添加字符来形成回文。关键点如下: 回文定义: 回文是指从前往后读和从后往后读是一样的字符串。 最短回文的构造: 我们可以通过找到字符串s的最长回文前缀来确定需要添加的字符。 如果s的前缀是回文的,...
2025-01-01
0
14
题解 | 最后一个字符
解题思路 这是一个查找字符串中第一个只出现一次的字符的问题。我们可以使用哈希表来记录每个字符的出现次数,然后再遍历字符串找到第一个只出现一次的字符。关键点如下: 字符计数: 使用一个哈希表(或数组)来记录每个字符的出现次数。 查找第一个只出现一次的字符: 再次遍历字符串,找到第一个计数...
2025-01-01
0
16
题解 | 字符串通配
解题思路 这是一个字符串匹配问题,可以使用动态规划来解决。关键点: 状态定义: 表示字符串 的前 个字符是否能被字符串 的前 个字符匹配。 状态转移: 如果当前字符匹配( 或 $B[j-1] == '.'),则: 如果 是 '*',则: // '*'表示前一个...
2025-01-01
0
9
题解 | 纸牌博弈
解题思路 这是一个博弈论问题,使用动态规划求解。关键点: 状态定义: a[i][j] 表示在区间 [i, j] 内先手能获得的最大分数 b[i][j] 表示在区间 [i, j] 内后手能获得的最大分数 状态转移: 先手可以选择最左或最右的牌: 选左边:A[i] + b[i+1][j]...
2025-01-01
0
16
题解 | 幸运数
解题思路 这是一个进制转换和数位和计算问题。关键点: 十进制数位和 : 对数字 按 取余,累加每一位 如 二进制数位和g(x): 对数字 按 取余,累加每一位 如 , 幸运数判断: 遍历 到 的每个数 判断 代码 cpp java pytho...
2025-01-01
0
11
题解 | 表达式组成方案
解题思路 这是一个逻辑表达式加括号问题。关键点: 预处理: 分离数字和运算符 数字在偶数位,运算符在奇数位 动态规划: 表示区间 得到值 的方案数 枚举分割点,计算所有可能组合 代码 c++ java python class Expression { p...
2025-01-01
0
12
题解 | 进制均值
解题思路 这是一个进制转换和分数计算问题。关键点: 进制转换: 对于每个进制 (2到 ) 将 转换为 进制 计算各位数字之和 分数化简: 总和除以进制个数得到平均值 需要化简为最简分数 最大公约数: 使用辗转相除法求GCD 用于分数化简 代码 cpp ja...
2025-01-01
0
10
题解 | 字符混编
解题思路 这是一个字符串混编问题,可以使用动态规划求解。关键点: 动态规划定义: 表示 的前 个字符和 的前 个字符能否混编成 的前 个字符 表示使用了 的前 个字符 表示使用了 的前 个字符 状态转移: 如果当前字符来自 : 如果当前字符来自 : 基本...
2025-01-01
0
11
首页
上一页
8
9
10
11
12
13
14
15
16
17
下一页
末页