字节第二题我疯了 为啥就是过不了 线下试了好几次都没错

方法还挺暴力的 弄个堆 每次从里面取前面时间最大的题 然后拿出来跳过。
逻辑上不应该0%啊 给我整疯了
全部评论
第二题不是回溯法吗
点赞 回复 分享
发布于 2019-09-22 10:22
我也是这样,本地调得好好的,一提交 0%
点赞 回复 分享
发布于 2019-09-22 10:18
#include<bits/stdc++.h> #define INF 10000000 using namespace std; typedef long long ll; int main(){     int T, n, time, t;     cin >> T;     while(T--){         cin >> n >> time;         priority_queue<int> q;         ll sum = 0;         for(int i = 0; i < n; i++){             cin >> t;             vector<int> v;             while(sum + t > time){ // sum + t <= time                 sum -= q.top();                 v.emplace_back(q.top());                 q.pop();             }             cout << i - q.size() << " "; // t             v.emplace_back(t);             for(auto t : v){                 q.push(t);                 sum += t;             }         }         cout << endl;     }     return 0; } 100%, 本来想的复杂点,后面发现暴力全部放回去也能过。gg
点赞 回复 分享
发布于 2019-09-22 10:09
暴力100%
点赞 回复 分享
发布于 2019-09-22 10:09
我是总时间减当前时间得剩余时间,再按照前面从小到大排序求和,直到求的和大于剩余时间,统计已求和的个数,再前面总个数减已求和个数就是答案。排序链表插入排序,我自己写了几个例子都是对的,提交是0
点赞 回复 分享
发布于 2019-09-22 10:08
排序然后从前往后取,贪心
点赞 回复 分享
发布于 2019-09-22 10:06
牛客貌似不能用优先级队列或者堆这些容器,答案明明一样但却只能0,改用ArrayList每次排序就过了,我佛了
点赞 回复 分享
发布于 2019-09-22 10:05
都不用堆吧,直接插入排序,然后找一遍就好了。是不是哪写炸了
点赞 回复 分享
发布于 2019-09-22 10:05
纯暴力法0的,一般是题意或者思路理解错了
点赞 回复 分享
发布于 2019-09-22 10:03
ZUIHOU 没加cout<<endl;吗?
点赞 回复 分享
发布于 2019-09-22 10:03

相关推荐

Twilight_mu:经典我朋友XXXX起手,这是那种经典的不知道目前行情搁那儿胡编乱造瞎指导的中年人,不用理这种**
点赞 评论 收藏
分享
05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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