线性分类器

  • 题目描述
    • 样例
      • 源代码
      • 关于这题

题目描述

样例



源代码

#include<iostream>
#include <vector>
using namespace std;vector<int> A1, A2;
vector<int> B1, B2;int main()
{int N, M;cin >> N >> M;while (N--){int x, y;string C;cin >> x >> y;cin >> C;if (C == "A"){A1.push_back(x);  //在A1的第一个元素(从第0个算起)位置插入数值5A2.push_back(y);}else{B1.push_back(x);B2.push_back(y);}}while (M--){bool judge = true;int a, b, c;cin >> a >> b >> c;int AA = 0, BB = 0;if (a + A1[0] * b + A2[0] * c > 0) AA = 1;     //这里先判断第一个数 确定其在直线上方还是下方else AA = -1;for (int i = 1; i < A1.size(); i++)  //A1.size() 返回A1在内存中总共可以容纳的元素个数  {if (a + A1[i] * b + A2[i] * c < 0 && AA == 1) judge = false;if (a + A1[i] * b + A2[i] * c > 0 && AA == -1) judge = false;}if (a + B1[0] * b + B2[0] * c > 0) BB = 1;else BB = -1;for (int i = 1; i < B1.size(); i++){if (a + B1[i] * b + B2[i] * c < 0 && BB == 1) judge = false;if (a + B1[i] * b + B2[i] * c > 0 && BB == -1) judge = false;}if (judge){if (AA * BB < 0){cout << "Yes" << endl;}else{cout << "No" << endl;}}else{cout << "No" << endl;}}return 0;
}

关于这题

思路:把点带到给定参数的直线方程中 与0比较 确定是A类还是B类
这里用一个vector 会简便很多
可以将vector理解为动态数组,是封装好了的类
进行vector操作前应添加头文件#include <vector>
这里简单介绍几种常用的用法

 #include<vector>
vector<int> a,b;
//a含有4个值为2的元素
a.assign(4,2);
//返回a的最后一个元素
a.back();
//返回a的第一个元素
a.front();
//清空a中的元素
a.clear();
//判断a是否为空,空则返回true,非空则返回false
a.empty();
//删除a向量的最后一个元素
a.pop_back();
//在a的最后一个向量后插入一个元素,其值为5
a.push_back(5);
//返回a中元素的个数
a.size();
//返回a在内存中总共可以容纳的元素个数
a.capacity();
//将a的现有元素个数调整至10个,多则删,少则补,其值随机
a.resize(10);
//将a的现有元素个数调整至10个,多则删,少则补,其值为2
a.resize(10,2);
//将a的容量扩充至100,
a.reserve(100);
//b为向量,将a中的元素和b中的元素整体交换
a.swap(b);
//从向量中读取元素
//通过下标方式获取
int a[6]={1,2,3,4,5,6};
vector<int>b(a,a+4);
for(int i=0;i<=b.size()-1;++i){cout<<b[i]<<endl;}

@4-1 CCF 2020-06-1 线性分类器相关推荐

  1. 第 19 次 CCF CSP 认证 202006-1 线性分类器(line)

    目录 [题目描述] [输入格式] [输出格式] [样例 1 输入] [样例 1 输出] [样例 1 解释] [子任务] 思路分析: C++代码: [题目描述] 考虑一个简单的二分类问题--将二维平面上 ...

  2. CCF CSP202006-1 线性分类器

    CCF CSP202006-1 线性分类器 题目描述 要点分析 将第一个点作为标准: 如果后面的点与第一个点的类型相同但与第一个点分布在直线的区域不同则不符合题意 如果后面的点与第一个点的类型不同但与 ...

  3. CCF认证考试——线性分类器

    **CCF认证考试--线性分类器** 前言 一.题目 二.解题思路 三.示例代码 四.总结 前言 基于python的解题思路与代码实现,新手入门,可能写得不好,欢迎留言交流学习 提示:以下是本篇文章正 ...

  4. 多类线性分类器算法原理及代码实现 MATLAB

    多类线性分类器算法原理及代码实现 MATLAB 一.算法原理 下面举例说明为何蓝圈部分在case2中是确定的而在case1中不确定: 二.代码实现 1.HK函数 function [] = HK(w1 ...

  5. elm分类器功能_一文带你读懂线性分类器

    本文为 AI 研习社编译的技术博客,原标题 : Linear Classifier 作者 | Thomas Pernet 翻译 | 邓普斯•杰弗.涂世文.Disillusion 校对 | 邓普斯•杰弗 ...

  6. 论文阅读笔记:为什么深度神经网络的训练无论多少次迭代永远有效?可能类内分布已经坍缩为一个点,模型已经崩溃为线性分类器

    论文阅读笔记:Prevalence of neural collapse during the terminalphase of deep learning training,深度学习训练末期普遍的神 ...

  7. 线性分类器与非线性分类器的区别是什么?有哪些优劣特性?

    线性分类器与非线性分类器的区别是什么?有哪些优劣特性? 线性分类器 线性分类器就是用一个"超平面"将两个样本隔离开,如:   (1)二维平面上的两个样本用一条直线来进行分类:    ...

  8. SVM中的线性分类器

    线性分类器: 首先给出一个非常非常简单的分类问题(线性可分),我们要用一条直线,将下图中黑色的点和白色的点分开,很显然,图上的这条直线就是我们要求的直线之一(可以有无数条这样的直线)     假如说, ...

  9. 【机器学习】SVM学习(三):线性分类器的求解

    [机器学习]SVM学习(三):线性分类器的求解 2016-10-10 19:56 239人阅读 评论(0) 收藏 举报 本文章已收录于:  机器学习知识库  分类: 机器学习(37)  目录(?)[+ ...

最新文章

  1. linux下通过yum安装svn及实现SVN与WEB同步解决方案[阿里云]
  2. 网站运营活动总结报告模板
  3. 【Java7】练习:选角色,挑苹果,员工类,换心脏,斗地主,发工资,客户信息管理软件,开发团队调度系统
  4. 在Java EE 6中将Bean验证与JAX-RS集成
  5. 工作记录四-etcd与flanneld
  6. java servlet 获取mac地址_Java开发网 - 请教大家几个关于servlet取ip和mac地址的问题~~!...
  7. Java关键字与保留字说明及使用
  8. PHP 基础知识测试题
  9. OPencv_边缘检测算法
  10. c++ tcp 服务器和客户端例子
  11. CCF201609-1 最大波动(100分)
  12. 结构等待队列[网络编程]select流程分析
  13. centos-7 charpter one
  14. gradle下载很慢的解决方式
  15. 深度linux 安装qq游戏,在Deepin系统下用Playonlinux完全可以运行QQ游戏大厅
  16. 【技术分享】配置手工模式链路聚合(交换机之间直连)
  17. arcgis 只能查看指定行政区域_[教程】Arcgis进阶:统计分析
  18. winpe进入linux系统,制作U盘Linux 与WinPE启动
  19. 云计算时代:PC会消亡吗?
  20. 新风医疗集团就私有化交易达成最终合并协议;​康泰生物成功分离新冠德尔塔变异株 | 医药健闻...

热门文章

  1. python 官网下载地址
  2. Linux ls命令大全
  3. 用Qt开发小游戏《愤怒的小鸟》
  4. 【项目重构】总结与反思
  5. 拼多多“造血”新农商
  6. (转)什么时候要抛出异常?
  7. 关于ALEXA的流量排名的参数介绍
  8. 拼多多用户优惠券使用行为预测分析项目
  9. XMind揭秘:汽车的世界
  10. 几款主流浏览器的简单比对实验,360极速最适合我