题目:


输入样例1

9 3
1 1 A
1 0 A
1 -1 A
2 2 B
2 3 B
0 1 A
3 1 B
1 3 B
2 0 A
0 2 -3
-3 0 2
-3 1 1

输出样例1

No
No
Yes

效果展示

解题思路

1、本题关注点

主要需要弄懂如何判断训练数据汇总的A、B两类点是否分开,判断标准和方法是怎样的。

2、解题思路

判断标准:方程代入点的坐标,>0在上方,<0在下方。

具体思路

首先每条(m)直线判别时,先将第一个点的类别(A or B)和判断结果(直线的上方 or 下方)作为判定结果的初始值,此后的点(n)的类别和判断的结果与初始不一致则分割失败,失败则立即退出此次判断循环。

比如初始A在上方,B在下方,后续的点也只能A在上方,B在下方,否则就分割失败。

代码展示

/*CFF试题202006-1,试题名称:期线性分类器 Time:20210209*/
/*主要需要弄懂如何判断训练数据汇总的A、B两类点是否分开,判断标准和方法是怎样的*/
/*判断标准:方程代入点的坐标,>0在上方,<0在下方 首先每条(m)直线判别时,先将第一个点的类别(A or B)和判断结果(直线的上方 or 下方)作为判定结果的初始值,此后的点(n)的类别和判断的结果与初始不一致则分割失败,失败则立即退出此次判断循环比如初始A在上方,B在下方,后续的点也只能A在上方,B在下方,否则就分割失败*/
/*标准源码获取:清月学习社*/
#include <iostream>
#include<stdio.h>// 包含sort函数
using namespace std; // 建立点的的结构体
struct Node
{int x;     // 横坐标 int y;       // 纵坐标char type;    // 点的类别
};int main()
{Node node[1000];bool sign[20];// 初始假定完美分割,1-完美分割,0-分割失败 for(int i=0;i<20;i++){sign[i] = true; }int m, n;cin >> n >> m;// 点和方程个数 //输入数据,存到结构体数组中for(int i=0;i<n;i++){cin >> node[i].x >> node[i].y >> node[i].type;}for(int i=0;i<m;i++){int flagA = -1;int flagB = -1;int Q1, Q2, Q3;// 方程系数 cin >> Q1 >> Q2 >> Q3; for(int j=0;j<n;j++){int ans = (Q1 + Q2*node[j].x + Q3*node[j].y) > 0 ? 1 : 0; //1直线上方,0直线下方if(node[j].type == 'A')// A {if(flagA == -1)// 初始化点在直线的哪一边 flagA = ans;else if(flagA != ans)// 如果后续的不在同一侧,则分割失败 {sign[i] = false;// 分割失败break;           // 分割失败则不再继续判别,直接跳出此次循环 }}       else if(node[j].type == 'B')// B {if(flagB == -1)// 初始化点在直线的哪一边 flagB = ans;else if(flagB != ans)// 如果后续的不在同一侧,则分割失败 {sign[i] = false;// 分割失败break;         // 分割失败则不再继续判别,直接跳出此次循环 }}                                               }}// 按顺序输出判别结果 for(int i=0;i<m;i++){if(sign[i] == false)cout << "No" << endl;elsecout << "Yes" << endl; }return 0;
}

调试结果:

CFF刷题202006-1线性分类器相关推荐

  1. CFF刷题-202012-1期末预测之安全指数

    问题描述 试题编号: 202012-1 试题名称: 期末预测之安全指数 时间限制: 1.0s 内存限制: 512.0MB 题目背景 期末要到了,小菜同学找到了自己的好朋友顿顿,希望可以预测一下自己这学 ...

  2. 【动态规划刷题笔记】线性dp:合唱队形(最长递增子序列的变体)

    [NOIP2004 提高组] 合唱队形 - 洛谷 思路:最少出列,即挑出最多,即找最长递增子序列和最长递减子序列 设dp1[i]为以h[i]结尾的最长递增子序列 dp2[i]为以h[i]开头的最长递减 ...

  3. CCF刷题合集(部分题解)

    CCF 刷题满分代码 注意第一题的话如果比较简单有的我可能没写,有链接的可能写了也只有代码. 202012 202012-1 期末预测之安全指数 CCF 202012-1 期末预测之安全指数 2020 ...

  4. 【数据结构】夯实基础|线性表刷题01

    作者:努力学习的大一在校计算机专业学生,热爱学习和创作.目前在学习和分享:算法.数据结构.Java等相关知识. 博主主页: @是瑶瑶子啦 所属专栏: [数据结构|刷题专栏]:该专栏专注于数据结构知识, ...

  5. day6 AI面试刷题

    day6 AI面试刷题 1. 什么是集成学习算法? 2. 集成学习主要有哪几种框架, 并简述它们的工作过程? 3. Boosting算法有哪两类,它们之间的区别是什么? 4. 什么是偏差和方差? 5. ...

  6. 1000 面试题,BAT 机器学习面试刷题宝典!

    点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要好多分钟 跟随小博主,每天进步一丢丢 ID:Dr.Wu 公众号:大鱼AI 来源:CSDN 编辑:三石 刷题,是面试前的必备环节.本文作者便总结了 ...

  7. 力扣(LeetCode)刷题,简单+中等题(第31期)

    目录 第1题:同构字符串 第2题:最后一块石头的重量 第3题:最小路径和 第4题:键盘行 第5题:存在重复元素 II 第6题:两数相加 第7题:三个数的最大乘积 第8题:等价多米诺骨牌对的数量 第9题 ...

  8. 我收藏的谷歌和阿里大佬的刷题笔记

    金三银四大家在准备校招.社招,或者闲暇的时候,都可以刷刷 Leetcode,保持良好的手感. 之前刷题,一直觉得漫无目的地刷,效率很低.后来发现了两个刷题笔记,谷歌大佬高畅和BAT大佬霜神写的 Lee ...

  9. 你面试稳了!通关LeetCode刷题完整攻略,省时又高效

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:穷码农 来源:https://zhuanlan.zhihu.com/p/10 ...

最新文章

  1. SEE Conf 2021 如期而至,体验科技极致美
  2. dede自定义表单增加添加时间怎么弄
  3. rsync+inotify-tools实现文件的实时同步
  4. celeba数据集_Kaggle最新秃头数据集Bald!含20万张图片,江湖传言刷到第一可防脱发()quot;...
  5. 租车信息系统数据库设计(3)
  6. 人在囧途!12306买到相同高铁票 回应:可能是机器故障
  7. SharePoint 2010 使用代码创建视图查询条件
  8. Rails + Bootstrap个人博客搭建的完整过程(4)
  9. java的if判读_java if判断
  10. 威廉·布莱克《从一颗沙子看世界》(To see a world in a grain of sand)
  11. 翻译:iOS Swift单元测试 从入门到精通 Unit Test和UI测试 UITest
  12. 数据库索引高频面试题梳理
  13. ERP 集成常见的类型
  14. 更改桌面壁纸_使用DeskSlide轻松更改桌面墙纸
  15. 女生自学计算机方向建议
  16. Leetcode 第 201 场周赛 (2020 滴滴校招专场)
  17. UML设计一个电影票务销售系统(一)
  18. 外卖返利小程序系统公众号外卖饿了么美团cps返利小程序分销系统
  19. 机器人关节摩擦力的变化规律
  20. 【软件与系统安全笔记】一、引入

热门文章

  1. for循环的练习----简单练习和猜拳游戏
  2. Python中的np.where()是什么意思(附代码解读)
  3. for循环语句与while循环语句的结构与用法
  4. apollo全流程、原理、源码解析
  5. 微信二次开发需要多少钱,不得不说的内幕!
  6. 2021年茶艺师(中级)找解析及茶艺师(中级)证考试
  7. 用caffe 搭建简单的二分类网络
  8. html solid 属性,html solid属性 Html 中如何设置 div边框的颜色
  9. 每天一道算法题-暴力求解建物流中间站
  10. 北林计算机考研调剂,北京林业大学信息学院2020考研调剂信息(二)