標籤:
相似題目: 題目
考慮乙個簡單的二分類問題——將二維平面上的點分為a 和b 兩類。xi, yiyi, typeitypei),即該點的橫座標、縱座標和類別。訓練資料報含 n 個點,其中第 i 個點(1 ≤ i ≤ n)可以表示為乙個三元組 (xi
在二維平面上,任意一條直線可以表示為θ0+θ1x+θ2y=0θ0+θ1x+θ2y=0的形式,即由 θ0θ0、θ1θ1 和 θ2θ2 三個引數確定該直線,且滿足 θ1θ1、θ2
θ2 不同時為 0。輸入基於這 n 個已知類別的點,我們想要在平面上找到一條直線作為乙個線性分類器。
具體來說,這條線要把訓練資料中的a、b 兩類點完. 美. 分. 隔. 開來,即一側只有a 類點、另一側只有b 類點。這樣,對於任意乙個的未知類別的點,我們就可以根據它是位於直線的哪一側來**它的類別了。
在本題中我們僅需要處理 m 個如下查詢:給定一條直線,判斷它是否能將訓練資料中的a、b 兩類點完美分開。
從標準輸入讀入資料。xi、yiyi 和 typeitypei,分別表示第 i 個點的橫、縱座標和類別,其中座標為整數、類別為乙個大寫英文本母a 或b。 第 n + 2 行到第 n + m + 1 行依次輸入 m 個查詢。第 j + n + 1 行(1 ≤ j ≤ m)包含用空格分隔的三個整數 θ0θ0、θ1θ1 和 θ2輸入共 n + m + 1 行。
第一行包含用空格分隔的兩個正整數 n 和 m,分別表示點和查詢的個數。
第二行到第 n + 1 行依次輸入 n 個點的資訊。第 i + 1 行(1 ≤ i ≤ n)包含用空格分隔的三項 xi
θ2,表示第 j 個查詢中給定直線的三個引數。輸出
輸出到標準輸出。輸入樣例輸出共 m 行,每行輸出乙個字串。
第 j 行(1 ≤ j ≤ m)輸出的字串對應第 j 個查詢的結果:如果給定直線可以完美分隔a、b 兩類點,則輸出yes;否則輸出no。
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
no樣例解釋noyes
只有第 3 個查詢給出的直線能將a、b 兩類點完美分隔。解題思路
將點的座標代入直線方程,通過計算結果大於0還是小於0,判斷點在直線的哪一側。#include#include#include#include#include#include#includeusing namespace std;
int main()
for(i=0;i>c>>a>>b;
for(it=mp.begin();it!=mp.end();it++)
}else
}if(!flag)cout<
else cout<
} return 0;
}
CCF202006 1 線性分類器
線性分類器 line 題目描述 考慮乙個簡單的二分類問題 將二維平面上的點分為a和b兩類。訓練資料報含n個點,其中第i個點 1 i n 可以表示為乙個三元組 x,y,type 即該點的橫座標 縱座標和類別。在二維平面上,任意一條直線可以表示為 x y 0的形式,即由 三個引數確定該直線,且滿足 不同...
CCF 202006 1 線性分類器 python
題目 線性分類器 line 題目描述 考慮乙個簡單的二分類問題 將二維平面上的點分為a和b兩類。訓練資料報含n個點,其中第i個點 1 i n 可以表示為乙個三元組 x,y,type 即該點的橫座標 縱座標和類別。在二維平面上,任意一條直線可以表示為 x y 0的形式,即由 三個引數確定該直線,且滿足...
202006 1 線性分類器 ccf csp
問題描述 我們可以先寫乙個函式用來判斷 目標點在直線的上方還是下方 def judge theta0,theta1,theta2,x,y theta0 theta1 x theta2 y 0 y 1 float theta0 theta1 x theta2 if y y return true 點在...