zoukankan      html  css  js  c++  java
  • csp202012月期末预测之最佳阈值

    只得了20分,错误原因应该是时间复杂度的问题。

    set::count()是C++ STL中的内置函数,它返回元素在集合中出现的次数。由于set容器仅包含唯一元素,因此只能返回1或0。

    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+5;
    int n,Max=0,res;
    int sum[N]={0};
    set<int>st;
    pair<int,int>pr[N];
    int main()
    {
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            int a,b;
            cin>>a>>b;
            pr[i]=make_pair(a,b);
        }
        sort(pr+1,pr+n+1);//1.先排序
        for(int i=1;i<=n;i++)
            sum[i] =sum[i-1]+ pr[i].second;//2.求挂科情况前缀和 
        for(int i=1;i<=n;i++)
        {
            int a=pr[i].first;//选取阈值 
            if(st.count(a)) continue;//set去重 
            st.insert(a);
            int yuce1 = sum[n]-sum[i-1];//大于等于阈值时,应统计预测结果中为1的个数 
            int yuce0 = i-1-sum[i-1];//小与阈值时,应统计预测结果中为0的个数 
            int yuce = yuce1+ yuce0;//合计预测正确次数 
            if(yuce >= Max) {
                Max=yuce;
                res=a;
            }
        }
        cout<<res;
        return 0;
    }
  • 相关阅读:
    Makefile 文件详细规则
    unrar命令
    Vector容器 和 iteration 迭代器
    python的with语句
    anaconda 使用总结
    vim 保存退出命令集
    Tensorflow实例集
    jupyter notebook 使用例子
    tensorflow 安装教程(最佳)
    Ext.NET 4.1.0 搭建页面布局
  • 原文地址:https://www.cnblogs.com/h694879357/p/14585397.html
Copyright © 2011-2022 走看看