0 点赞 评论 收藏   
分享
 2019-12-11 11:49
  门头沟学院 算法工程师  0 点赞 评论 收藏   
分享
 0 点赞 评论 收藏   
分享
 DSKer:我觉得你们心态很不对,“脉脉上没有好公司”,大家反映的都是事实,求职者做的就是在各个有坑的公司找到相对不坑的以及适合自己的公司,真当公司是你家那么舒服啊,况且你家还指不定没那么舒服呢小伙子们
0 点赞 评论 收藏   
分享
 0 点赞 评论 收藏   
分享
 43967:只不过gbdt和xgb是在函数空间优化,梯度下降和牛顿法在参数空间优化
0 点赞 评论 收藏   
分享
 ppl3:当时自己犯了很蠢的错误,用Python写一直ac不了,所以搞了两个版本,后来发现都改好了,两个都能AC        C++版本:   #include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#define MAX(a,b) ((a) > (b) ? (a) : (b))
using namespace std;
int main(){
    int t, res_m, res_f;
    cin >> t;
    for(int i = 0; i < t; i++){
        int n;
        res_m = 0;
        res_f = 0;
        cin >> n;
        vector<int> v;
        for(int j = 0; j < n; j++){
            int x; scanf("%d",&x);
            vector<int>::iterator pos_left,pos_right;
            pos_left = std::lower_bound(v.begin(), v.end(), x);
            pos_right = std::upper_bound(pos_left, v.end(), x);
            int lo = pos_left - v.begin();
            int hi = pos_right - v.begin();
            v.insert(v.begin()+hi, x);
            res_f += lo + hi - j;
            res_m = MAX(res_m, res_f);
        }
        cout << res_m << ' ' << res_f << endl;
    }
    return 0;
}     Python 版本:      import bisect
T = int(input())
class my_class(object):
    __slots__ = ['array', 'res_m', 'res_f']
    def __init__(self, lst):
        array = []
        res_m, res_f = 0, 0
        n = len(lst)
        for i, x in enumerate(lst):
            pos_left = bisect.bisect_left(array, x)
            pos_right = bisect.bisect_right(array, x, pos_left)
            res_f += pos_left + pos_right - i
            res_m = max(res_m, res_f)
            array.insert(pos_right, x)
        print(res_m, res_f)
for _ in range(T):
    n = int(input())
    lst = list(map(int, input().split()))
    my_class(lst)
0 点赞 评论 收藏   
分享
 创作者周榜
更多 
 关注他的用户也关注了: