bandiaoz
bandiaoz
全部文章
分类
题解(2)
归档
标签
去牛客网
登录
/
注册
bandiaoz的博客
全部文章
(共343篇)
题解 | #争吵#
解题思路 这是一个队列模拟问题。关键点如下: 表示面向左的人, 表示面向右的人 当两个人面对面时会发生争吵,其中一个人会被踢出队列 需要找出经过一系列争吵后,队列最少会剩下多少人 解题思路: 找到最左边的 和最右边的 的位置 如果不存在 或 ,或者最右边的 在最左边的 的左边,则不...
2024-12-21
1
49
题解 | #内存条#
解题思路 这是一个内存读写死锁判断问题。关键点如下: 内存是环形的,总大小为 每次写入 字节,每次读取 字节 需要判断在什么情况下会发生死锁 判断逻辑: 如果 或 大于 ,必然死锁 如果 ,可以交替读写,不会死锁 如果 ,需要计算累积的可用空间是否足够读取 如果 ,需要计算写满后是否...
2024-12-21
0
90
题解 | #游乐园#
解题思路 这是一个时间累加问题: 游乐园有 个项目,每个项目需要 分钟 总共有 分钟的时间限制 需要计算在时间限制内能玩的项目总时间 解题步骤: 将所有项目按时间排序 从小到大累加项目时间 当累加和大于或等于 时停止 返回累加的总时间 代码 #include <iostrea...
2024-12-21
0
79
题解 | #骰子游戏#
解题思路 这是一个概率DP问题: 个骰子同时投掷,每个骰子点数为 如果所有骰子点数和大于等于 ,则获得奖励 需要计算获得奖励的概率 解题步骤: 使用 dp[i][j] 表示投 个骰子和为 的方案数 状态转移:dp[i][j] = sum(dp[i-1][j-k]), 从 到 计算概...
2024-12-21
0
73
题解 | #数轴#
解题思路 这是一个数轴上的移动问题: 个朋友在数轴上的不同位置 每个朋友可以向左或向右移动 距离 要求移动后最左边和最右边朋友的距离最小 解题步骤: 先将所有点排序 枚举分界点 ,前 个点向右移动,后面的点向左移动 对每种分界情况,计算最大值和最小值的差 取所有情况中的最小值 代码 ...
2024-12-21
0
84
题解 | #斐波那契数列#
解题思路 这是一个斐波那契数列问题: 数列的第一个和第二个数都是 从第三个数开始,每个数等于前面两个数之和 需要求出第 个数的值 解题方法: 如果 ,直接返回 否则,使用两个变量记录前两个数,迭代计算第 个数 注意处理大数问题 代码 #include <iostream>...
2024-12-21
0
53
题解 | #数位重排#
解题思路 这是一个数位统计问题,需要判断一个数字重排后是否可能是原数的倍数: 对于给定数字 ,判断其 倍到 倍是否可能通过重排得到 两个数字是否可以通过重排得到,等价于它们的数位统计相同 使用 map 来统计和比较数位出现次数 解题步骤: 对原数和其倍数分别统计各个数位出现次数 比较两个数...
2024-12-21
0
76
题解 | #倒水#
解题思路 这是一个递归/动态规划问题,需要计算将 升水倒入 个相同容器的不同倒法数量: 每个容器容量足够大 允许容器为空 相同的倒水数量序列视为同一种倒法 解题思路: 当 或 ,或 时,只有一种倒法 对于其他情况,可以分为 个容器装水的情况 使用动态规划避免重复计算 代码 #i...
2024-12-21
0
114
题解 | #工作方案#
解题思路 这是一个组合数学问题,需要计算满足以下条件的工作分配方案数: 总共 份工作需要完成 三位员工分别需要完成 份工作 每份工作至少有一个人做,可以多个人合作 不同的工作分配方案或不同的人员组合都算作不同方案 解题步骤: 首先计算组合数表 ,用于后续计算 对于第三个人分配的 份工作,...
2024-12-21
0
77
题解 | #音乐列表#
解题思路 这是一个动态规划问题,需要计算满足以下条件的播放列表数量: 首歌要全部播放至少一次 总共播放 次 相同歌曲之间至少间隔 首其他歌曲 使用动态规划: 状态定义: 表示用 首歌填满 个位置的方案数 状态转移: 当 且 时: // 从之前选过的歌中选择,需要满足间隔条件 ...
2024-12-21
0
74
首页
上一页
14
15
16
17
18
19
20
21
22
23
下一页
末页