首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
Praying_cqf
获赞
19
粉丝
18
关注
15
看过 TA
84
男
西北农林科技大学
2026
C++
IP属地:陕西
ACM-ICPC EC银 regional银
私信
关注
拉黑
举报
举报
确定要拉黑Praying_cqf吗?
发布(77)
评论
刷题
收藏
Praying_cqf
关注TA,不错过内容更新
关注
2021-04-01 12:42
已编辑
西北农林科技大学 C++
相融子列题解
设f[i][x]表示前i个数中,结尾的数含有因子x组成的最长子序列的长度。每次新加进来一个数,只需要枚举这个数包含的质因子即可。由于f[i][]的值可以只与f[i-1][]有关,所以可以省去一维。最终复杂度O(nlogn)
0
点赞
评论
收藏
分享
2021-04-01 12:43
已编辑
西北农林科技大学 C++
跳跳跳房子题解
可以采用记忆化搜索,每个位置记录到该位置时的得分,如果得分不如以往,则没有必要继续搜索。当然这题也可以用广搜,因为不存在环的情况。
0
点赞
评论
收藏
分享
2021-04-01 12:43
已编辑
西北农林科技大学 C++
营地布置题解
考虑每个位置往下一个走的位置连有向边,最终会出现若干个环,环上有链连进来的情况。环的数量就是答案。因此使用并查集即可。
0
点赞
评论
收藏
分享
2021-04-01 12:44
已编辑
西北农林科技大学 C++
无聊的音乐会题解
前缀和+二分 O(mlogn)排序+前缀和 O(mlogn)前缀和+链表 O(n+m)
0
点赞
评论
收藏
分享
2021-04-01 12:44
已编辑
西北农林科技大学 C++
最短完成时间题解
实际上,完成所有任务的时间和第二道工序完成的时间一致。假如我们已经确定了最佳的安排的两个集合,但不知道安排的顺序,显然这里需要按照第二道工序完成的时间进行排序,需要时间长的先做。设f[i][j]表示处理了前i个人,使用第一台电脑的人完成所有任务的时间为j时的答案。转移的时候分类讨论,讨论第i个人到第一台电脑工作还是到第二台电脑工作。复杂度O(n^3)
0
点赞
评论
收藏
分享
2021-04-01 12:44
已编辑
西北农林科技大学 C++
等距序列题解
把两个序列都差分,问题变成了KMP
0
点赞
评论
收藏
分享
2021-04-01 12:44
已编辑
西北农林科技大学 C++
可能的轨迹题解
直接dfs暴力,存下最终结果即可。
0
点赞
评论
收藏
分享
2021-04-01 12:45
已编辑
西北农林科技大学 C++
天弃之子题解
每次都尝试到最后一次才成功就是最多的按按钮次数打法。遍历一遍并计算即可。记得开long long
0
点赞
评论
收藏
分享
2021-04-01 12:45
已编辑
西北农林科技大学 C++
特殊01串计数题解
合法的01串总数其实很少。预处理所有合法的01串就好,大概不到5000个。
0
点赞
评论
收藏
分享
2021-04-01 12:46
已编辑
西北农林科技大学 C++
粉刷问题题解
正难则反,先别考虑如何排n个区域,先看看最后颜色不同的情况。反过来看的话,就是每次合并两段相邻的颜色不相同的段,并把两段的和加上,成为一个新的段,这个过程就是石子归并。所以用堆就可以了。
0
点赞
评论
收藏
分享
2021-04-01 12:46
已编辑
西北农林科技大学 C++
疯狂匹配题解
首先我们可以求出从每个L开始匹配,失配前最后一个匹配的位置,这个位置+1就是下一次匹配开始的位置,并且记录下来。这一步用二分+哈希即可。有了上面求的这个东西,我们就可以倍增了,用ST表存下L出发走2的次幂步能到的最后一个位置。对于每一个询问,直接用倍增数组跳就好了。这样记录从0出发的次数也很容易,就相当于是失配次数。至于结束位置,可以用哈希+map来存储。最终总复杂度为O(qlogm)
0
点赞
评论
收藏
分享
2021-04-01 12:47
已编辑
西北农林科技大学 C++
水池改造题解
正难则反,在没有强制在线的情况下,我们可以先把t次改造后的水池求出来,然后倒序处理改造的过程,问题就变成了每次去掉一些陆地,求水域个数,这个用并查集就可以维护了。但是问题依旧是存在的,就是我们需要预先知道所有陆地第一次变成陆地是在哪一次改造之后,可以用二维数据结构把问题变成O(tlog^nlog^m),但这不是主要考点,所以可以暴力地更新,复杂度是O(tn)。 并查集的话,单纯的并查集肯定是不行的,加路径压缩就行了。
0
点赞
评论
收藏
分享
2021-04-01 12:49
已编辑
西北农林科技大学 C++
贸易旅行题解
贪心,肯定是低价买高价出售。一个很显然的结论,设a[0]=无限大,a[n+1]=0,当a[i-1]>a[i]<a[i+1]时肯定是买进的,当a[i-1]<a[i]>a[i+1]时肯定是卖出的。所以O(n)扫一遍就行了,注意答案可能会超过int。
0
点赞
评论
收藏
分享
2021-04-01 12:50
已编辑
西北农林科技大学 C++
拆盲盒题解
设新加入盲盒的数量为y概率为(C(n,x-1)*C(y,1))/C(n+y,x)在y变成y+1的过程中,式子乘上了(y+1)(n+y-x+1)/((n+y+1)y)这个式子>1时,概率是递增的,解得y<(n-x+1)/(x-1),所以y取 时概率最大
0
点赞
评论
收藏
分享
2021-04-01 12:51
已编辑
西北农林科技大学 C++
笨拙排序题解
考虑一个问题,如果a[1]=x,至少需要操作几次?如果a[1]=x的话,那么1到x-1都在a[1]后面,假设x+1到n在a[1]后面递增排列,抽出1到x-1之后x+1到n已经自然排好序了,所以当a[1]=x时至少需要x-1次操作。当然以上结论有一个前提,是x+1到n递增排列,我们反过来想,找到某个y,使得y到n已经成递增排列,那么所需要的操作次数至多就是y-1次。找到这个最小的y即可。复杂度O(n)
0
点赞
评论
收藏
分享
1
2
3
4
5
6
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务