cf Educational Codeforces Round 115 (Rated for Div. 2) C题

类型:二分查找。

中文题目:

C.删除两项内容

Monocarp有一个由n个整数组成的数组a。让我们将k表示为这些元素的数学平均值(注意,k可能不是整数)。

n个元素数组的数学平均值是元素之和除以这些元素的数量(i。 e、 和除以n)。

Monocarp希望从a中删除两个元素,以便剩余元素(n)的数学平均值−2) 元素仍然等于k。

您的任务是计算位置对[i,j](i<j)的数量,这样,如果删除这些位置上的元素,则(n)的数学平均值−2) 剩余元素等于k(即,它等于原始数组a的n个元素的数学平均值)。

简化:给一串数,去掉其中两个数,使去掉后的串的平均值等于原平均值,问有几种方案。

如:

输入:

5

1 4 7 3 5

输出:

2

代码:

#include<bits/stdc++.h>
using namespace std;
#define cout(x) printf("%d",x)
#define cin(x) scanf("%d",&x)
#define ll long long
int a[200010];
int main(){
ll sum,t,n;
cin>>t;
int ans;
while(t--){
memset(a,0,sizeof(a));
ll num=0;
ll sum=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
sum+=a[i];
}
double ans=sum*1.0/n;
ans*=2;
sort(a,a+n);
for(int i=0;i<n;i++){
num+=upper_bound(a,a+n,ans-a[i])-lower_bound(a,a+n,ans-a[i]);
if(ans-a[i]==a[i])num--;
}
cout<<num/2<<endl;
}
return 0;
}

思路:

开始想直接暴力查找,果然TLE。后来没想到怎么优化。其实想到二分但太复杂,不想写。重点没学会map和查找函数.

最重点:

函数upper_bound(a,a+n,x)-a 查找出最晚出现的X的下标

lower_bound(a,a+n,x)-a 查找出第一个出现的x的下标

都在algorithm里

CF回顾《二分类》的更多相关文章

  1. Python深度学习读书笔记-6.二分类问题

    电影评论分类:二分类问题   加载 IMDB 数据集 from keras.datasets import imdb (train_data, train_labels), (test_data, t ...

  2. R数据分析:二分类因变量的混合效应,多水平logistics模型介绍

    今天给大家写广义混合效应模型Generalised Linear Random Intercept Model的第一部分 ,混合效应logistics回归模型,这个和线性混合效应模型一样也有好几个叫法 ...

  3. 【原】Spark之机器学习(Python版)(二)——分类

    写这个系列是因为最近公司在搞技术分享,学习Spark,我的任务是讲PySpark的应用,因为我主要用Python,结合Spark,就讲PySpark了.然而我在学习的过程中发现,PySpark很鸡肋( ...

  4. Kaggle实战之二分类问题

    0. 前言 1. MNIST 数据集 2. 二分类器 3. 效果评测 4. 多分类器与误差分析 5. Kaggle 实战 0. 前言 "尽管新技术新算法层出不穷,但是掌握好基础算法就能解决手 ...

  5. 准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure(对于二分类问题)

    首先我们可以计算准确率(accuracy),其定义是: 对于给定的测试数据集,分类器正确分类的样本数与总样本数之比.也就是损失函数是0-1损失时测试数据集上的准确率. 下面在介绍时使用一下例子: 一个 ...

  6. 监督学习——logistic进行二分类(python)

    线性回归及sgd/bgd的介绍: 监督学习--随机梯度下降算法(sgd)和批梯度下降算法(bgd) 训练数据形式:          (第一列代表x1,第二列代表 x2,第三列代表 数据标签 用 0/ ...

  7. keras实现简单性别识别(二分类问题)

    keras实现简单性别识别(二分类问题) 第一步:准备好需要的库 tensorflow  1.4.0 h5py 2.7.0 hdf5 1.8.15.1 Keras     2.0.8 opencv-p ...

  8. Logistic回归二分类Winner or Losser----台大李宏毅机器学习作业二(HW2)

    一.作业说明 给定训练集spam_train.csv,要求根据每个ID各种属性值来判断该ID对应角色是Winner还是Losser(0.1分类). 训练集介绍: (1)CSV文件,大小为4000行X5 ...

  9. matlab-逻辑回归二分类(Logistic Regression)

    逻辑回归二分类 今天尝试写了一下逻辑回归分类,把代码分享给大家,至于原理的的话请戳这里 https://blog.csdn.net/laobai1015/article/details/7811321 ...

  10. tensorflow实现二分类

    读万卷书,不如行万里路.之前看了不少机器学习方面的书籍,但是实战很少.这次因为项目接触到tensorflow,用一个最简单的深层神经网络实现分类和回归任务. 首先说分类任务,分类任务的两个思路: 如果 ...

随机推荐

  1. SpringAOP/切面编程示例

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11833954.html Spring AOP/切面编程实例和一些注意事项, 主要是利用注解来实 ...

  2. Haproxy配合Nginx搭建Web集群部署

    Haproxy配合Nginx搭建Web集群部署实验 1.Haproxy介绍 2.Haproxy搭建 Web 群集 1.Haproxy介绍: a)常见的Web集群调度器: 目前常见的Web集群调度器分为 ...

  3. tarjan——有向图、无向图

    强连通块只存在于有向无环图DAG中 实际上low[i]的理解是:一个强连通块在dfs搜索树中子树的根节点 //把一个点当成根提溜出来,抖搂抖搂成一棵树 void dfs(int u) { //记录df ...

  4. Hive之同比环比的计算

    Hive系列文章 Hive表的基本操作 Hive中的集合数据类型 Hive动态分区详解 hive中orc格式表的数据导入 Java通过jdbc连接hive 通过HiveServer2访问Hive Sp ...

  5. linux 运维工程师如何降低工作难度

    文章目录 1.Linux "优化" 2.git "优化" 3.mysql "优化" 4.kubernetes "优化" ...

  6. Dubbo SPI机制之三Adaptive自适应功能

    JDK标准中SPI机制的一个问题就是其一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源:扩展点加载失败,其他扩展点都用不了了.Dubbo是如何解决该问题动态的选 ...

  7. SpringMVC的web配置

    之前并没有意愿写关于下面内容的小作文.因为总结SPI相关的标准(SPI机制之JDK中的SPI - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)),而这个也是关于标准的,Servlet3.0 ...

  8. 详细介绍Windows下也能够使用osw性能升级历史

    1.Windows系统历史性能分析困难背景 在Linux/Unix上.要追朔历史性能,一般採用部署nmon进行性能监控採集与存储的方式实现.可是却没有在Windows上的版本号. Windows系统假 ...

  9. 数据库项目部署(nginx)

    1.在虚拟机2008server下载nginx http://nginx.org/download/nginx-1.17.10.zip 注1:此版本为window版本 linux版本 2. 解压软件至 ...

  10. QT通过静态库调用Go

    ## 编写Go代码 package main import( "fmt" "C" ) //export test func test(str *C.char) ...