看见嘉然柚恩了
看见嘉然柚恩了
全部文章
分类
归档
标签
去牛客网
登录
/
注册
看见嘉然柚恩了的博客
全部文章
(共100篇)
题解 | #最大养牛利润#
知识点 模拟 思路 可以理解为k次购买,买cost小于当前手上有的钱now,且profits最大的奶牛,不用考虑差价之类的,因为profits就是利润了。然后每一头奶牛只能用一次,可以用一个bool数组记录使用情况。此外,可以先对奶牛依据cost从小到大排序,这样在遍历的时候可以减少一些寻找次数 代...
2023-08-15
0
397
题解 | #最高售价的两只牛#
知识点 贪心,排序 思路 可以把这题理解为,现将两组奶牛两两组合,按总价降序为第一关键字,A的价格降序为第二关键字排序,然后取出前K个作为答案 代码c++ class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法...
2023-08-15
0
375
题解 | #分品种#
知识点 贪心 思路 首先逆序遍历预处理一遍数组,用end[26]数组维护每个字母最后出现的位置。 然后再遍历一次数组,假设每次放进去的片段左端点为l,右端点为r。 由题意可知,对于s[l~~r]片段内出现的字母,以后都不会再出现。 所以我们先考虑s[l]位置出现的最后位置r=end[s[l]-'a'...
2023-08-14
0
385
题解 | #牛群的可视高度#
知识点 贪心 思路 从左往右模拟,维护一个最大值maxx,maxx初始化为cowHeights[0],遍历一遍cowHeights数组,当出现比maxx大的数时,ans++,且更新maxx为大的数。 即寻找最大单调递增子序列的长度。 代码c++ class Solution { public: ...
2023-08-14
0
356
题解 | #牛群售价预测#
知识点 贪心 思路 由题意可知,为了得到最大利润,需要从左往右遍历,维护最小price[i]与其右侧的最大price[i+?]。 所以我们只需要使用minn来维护最小的price[i]作为购入价。 在向右遍历的过程中: 遇到price[i]-minn的情况就更新ans=max(ans,price[...
2023-08-14
0
358
题解 | #牛群买卖策略优化#
知识点 贪心,模拟 思路 首先,我们知道牛在同一天买卖是没有意义的(因为利润为0)。所以我们只需要考虑隔天买卖的情况。 假设price数组的长度为n。假设对于i,有price[i~j]都为递增,那么只需要你在第i天买,第j天卖,即可获得最大利润(在中间买卖也没有意义,因为无利润) 所以我们只需要遍历...
2023-08-14
0
319
题解 | #牛群迁徙#
知识点 动态规划 思路 设river数组的长度为n 考虑每一个点都可以转移到后续的点,所以我们假设dp[i]代表从下标0走到i所需的最小步数。对于每一个点i,都一步可达[i+1~i+river[i]]的所有点。 所以步数转移方程为min(dp[i+j],dp[i]+1) 遍历每一个点,维护dp数组即...
2023-08-14
0
314
题解 | #乳牛研究成果评估#
知识点 哈希,贪心 思路 使用map建立奶牛指数到出现次数的映射,对于milk[i],从1milk[i]指数它都涵盖出现了一次,mp[1milk[i]]的值都++。 遍历一次milk数组,预处理所有的指数以及出现的次数。 初始化ans为-1(小值) 然后再遍历map,若map.second>=...
2023-08-14
0
293
题解 | #大胃王牛牛#
知识点 模拟,贪心 思路 假设grass和cost的长度为n 首先,我们预处理出grass和cost的差s,若s[0~n-1]<0,那必然无解,否则必然有解。 设sum为区间[ans~~n-1]的和 判断完有解后,我们只需要找到一个下标最小的点,使其一直向右遍历,维护sum=sum+s[i],...
2023-08-14
0
343
题解 | #牛群放牧顺序#
知识点 模拟,贪心 思路 我们可以观察到,对于rating[i]处的数,它的个数只取决于相邻左右两个数中最大的那一个。 为了维护左右的最大值,我们可以使用两个数组l和r分别维护位置i左侧的值和右侧的值。 l[i],r[i]分别代表rating[i]位置为了左边/右边应该取到的次数 l和r与ratin...
2023-08-14
0
276
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页