9.7 滴滴笔试

20选择2编程,已Ak,考试结束放代码

第一题 藏品最大代价,按n的长度分情况讨论即可

第二题 题意:给定长度为n的字符串s(n为偶数,包含小写字母)和一个代价矩阵grid,每次操作可以删除相邻的两个字符并获得代价。求删除所有字符后的最大代价。

思路:区间dp,区间长度初始为2,从小到大递推,并且区间长度始终为偶数。区间[i,j]的代价转移时,要考虑两种情况:第一种,左区间[i, k]和右区间[k + 1, j]合并(此时左右区间信息都有,可以直接推出来),
第二种情况:区间[i, j]由[i + 1, j - 1] + grid[s[i] - 'a'][s[j] - 'a']推过来(这种情况不能直接由子区间转移,是一种特殊的代价及算法方式)
上面两种情况包含了区间[i, j]所有可能的最大代价,直接算就行了
全部评论
我第二题是零花钱,一直超时只能过27%
5 回复 分享
发布于 2024-09-07 18:22 广东
第二题我是拼接字符串做的记忆搜索,对某个特定字符串记住他的删除开销,估计是这样做要拼前后两个字符串这一步太慢了
1 回复 分享
发布于 2024-09-07 18:48 江苏
佬 讲下第二题
1 回复 分享
发布于 2024-09-07 18:39 广东
码住
点赞 回复 分享
发布于 2024-09-07 19:06 山东
求解释,dp[i][j]=max(v[s[k]-'a'][s[j]-'a']+dp[i][k-1]+dp[k+1][j-1])为什么不对 ,分成 [i,k-1] [k+1,j-1]2个区间,然后让k和j消掉
点赞 回复 分享
发布于 2024-09-07 19:02 北京
第二题dp和dfs都只跑出27,摆了
点赞 回复 分享
发布于 2024-09-07 18:52 广东
DP的算法感觉是O(n^3)?用DFS也是O(n^3)但只能过27
点赞 回复 分享
发布于 2024-09-07 18:49 北京
求问第二题怎么读取字符串,getline为一直运行错误
点赞 回复 分享
发布于 2024-09-07 18:44 广东
第二题记忆化搜索和dp都上了都是27😡急了
点赞 回复 分享
发布于 2024-09-07 18:42 浙江
点赞 回复 分享
发布于 2024-09-07 18:39 黑龙江
mark
点赞 回复 分享
发布于 2024-09-07 18:39 陕西
零花钱只过了9%
点赞 回复 分享
发布于 2024-09-07 18:38 广东
点赞 回复 分享
发布于 2024-09-07 18:38 四川
mark
点赞 回复 分享
发布于 2024-09-07 18:30 北京
mark,快发吧
点赞 回复 分享
发布于 2024-09-07 18:29 江西
第二题是dp嘛,没D出来
点赞 回复 分享
发布于 2024-09-07 18:27 天津
佬,有零花钱那道题的思路吗
点赞 回复 分享
发布于 2024-09-07 18:08 河北
大佬第二天是怎么做的呀
点赞 回复 分享
发布于 2024-09-07 18:08 湖北
佬是藏品和零花钱两道题吗
点赞 回复 分享
发布于 2024-09-07 18:08 广东
都a不了
点赞 回复 分享
发布于 2024-09-07 17:53 四川

相关推荐

05-05 21:45
已编辑
广州大学 Java
点赞 评论 收藏
分享
06-02 15:53
阳光学院 Java
点赞 评论 收藏
分享
评论
10
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务