Advertisement

线性分类器(CSP认证20年6月)

阅读量:

线性分类器

  • 原题地址
    • 解题策略
    • 程序代码
    • 关键事项

原题链接解析

CSP认证2020年6月第一题 线性分类器

解题思路分析

不难发现,只需将坐标代入方程并比较所得结果与零的大小关系,即可确定该点位于直线的左侧或右侧。

针对每条直线对应的方程,判断步骤如下:

首先记录各个点的具体信息(所属类别),在进行判断时,先确定第一个点相对于直线的位置是处于左侧还是右侧,再依次检查其余各点是否与第一个点属于同一类别:

  • 若类别一致,则其余点应与第一个点位于直线的同一侧
  • 若类别不同,则其余点应与第一个点分别处于直线的两侧

源代码

复制代码
    #include<iostream>
    using namespace std;
    const int maxn = 1010;
    int n, m;
    struct point{
    	int x, y;
    	bool flag; // A类为true,B类为false 
    }points[maxn];
    int a, b, c; // 方程的三个参数 
    bool solve(){
    	// 用第一个点

全部评论 (0)

还没有任何评论哟~