首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
数字组合
3条解析
开通博客写题解
在刷题的单身狗很开心
发表于 2023-09-05 09:03:39
首先最容易想到的是暴力的四层遍历,时间复杂度为O(n^4)。 对最后一层的遍历可以改成二分查找,时间复杂度为O(n^3logn)。 但上两种方式都会超时。 有四个数字序列,可以联想到先使用二重循环将前两个和后两个序列的所有结果求出来。 然后在根据前一个求出来的序列去二分寻找后一个序列中符合要求的有多
展开全文
Fss1
发表于 2025-03-19 17:36:46
一种基于哈希表的解法 与二分的解法相似,把a[i] + b[j]的所有结果放到ab数组里面 不同的是,可以使用哈希表存储从c[i] + d[j] 用m.count(-ab)可以在最好是o(1)的时间复杂度下找到a+b+c+d = 0 但是题目数据好像卡了 哈希表解法最好的时间复杂度是O(n^2),
展开全文
阴暗臭嘴顺直贴吧男
发表于 2025-08-16 16:00:10
基于哈希表的解法 #include <bits/stdc++.h> #define int long long using namespace std; const int N = 1e6 + 10; int a[N], b[N], c[N], d[N], scd[N]; void so
展开全文
查看本题
查看本题讨论
相关比赛
32312-算法基础精选题单补充题目
进入比赛
36751-冲分01
进入比赛
36944-ACM-暑假第一次集训
进入比赛
57425-训练
进入比赛
59977-【200题】算法基础精选题单
进入比赛
等你来战
查看全部
牛客小白月赛120
报名截止时间:2025-09-05 21:00
牛客周赛 Round 108
报名截止时间:2025-09-07 21:00
牛客练习赛144
报名截止时间:2025-09-12 21:30
牛客周赛 Round 109
报名截止时间:2025-09-14 21:00
牛客挑战赛82
报名截止时间:2025-09-19 22:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题