202006-1線性分類器Java
總結:思路還可以,將A類點帶入線,大於零就記下true,小於零就記錄false.
B類點也代入線,大於0也記錄true,小於零記錄false
成功分割的條件是A的記錄裡全是true或全是false,B裡也是,並且AB不能同時全是false或同時全是true。
出錯的地方就是開始只定義了一個ans,A是不是全是true已經判斷好了,結果下面到B時又改了A的判斷結果。解決方法是定義了一個ansA,一個ansB。還有在迴圈裡可以大膽定義變數,編譯器不會誤會的(遵循用時定義原則)。
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int n=0,m=0;
Scanner in=new Scanner(System.in);
n=in.nextInt();
m=in.nextInt();
int[] x=new int[n];
int[] y=new int[n];
char[] type=new char[n];
for(int i=0;i<n;i++)
{//讀入點
x[i]=in.nextInt();
y[i]=in.nextInt();
type[i]=in.next().charAt(0);
}
int[] w1=new int[m];
int[] w2=new int[m];
int[] w3=new int[m];
for(int i=0;i<m;i++)
{//讀入線
w1[i]=in.nextInt();
w2[i]=in.nextInt();
w3[i]=in.nextInt();
}
ArrayList<Boolean> resultA=new ArrayList<Boolean>();
ArrayList<Boolean> resultB=new ArrayList<Boolean>();//在迴圈外面定義能省空間嗎?(不能,還忘了clear)
for(int line=0;line<m;line++)//依次判斷每一根線
{
for(int i=0;i<n;i++)
{
if(type[i]=='A')
{
resultA.add(w1[line]+w2[line]*x[i]+w3[line]*y[i]>0);
}
if(type[i]=='B')
{
resultB.add(w1[line]+w2[line]*x[i]+w3[line]*y[i]>0);
}
}
Boolean ansA=false;
Boolean ansB=false;
for(int i=1;i<resultA.size();i++)//陣列和字串是長度。容器是size
{
if(resultA.get(0)==resultA.get(i))
{
ansA=true;
}
else
{
ansA=false;
break;
}
}
for(int i=1;i<resultB.size();i++)//陣列和字串是長度。容器是size
{
if(resultB.get(0)==resultB.get(i))
{
ansB=true;
}
else
{
ansB=false;
break;
}
}
Boolean ans=false;
if((ansA==true)&&(ansB==true)&&(resultB.get(0)!=resultA.get(0)))
{
ans=true;
}
//輸出第i跟線判斷結果
if(ans==false)
{
System.out.println("No");
}
else
{
System.out.println("Yes");
}
resultA.clear();
resultB.clear();
}
}
}
相關文章
- CCFCSP 202006-1 線性分類器 C語言C語言
- CSP-CCF 202006-1 線性分類器 滿分程式碼
- Python線性分類模型簡介Python模型
- 第四章 線性分類模型模型
- 【火爐煉AI】機器學習008-簡單線性分類器解決二分類問題AI機器學習
- 從線性模型(linear model)衍生出的機器學習分類器(classifier)模型機器學習
- 關於分類的線性模型的討論模型
- 分類器
- 線性迴歸演算法模型與線性分類演算法模型聯絡與區別初探演算法模型
- 伺服器的種類可以按照不同的屬性劃分伺服器
- ThinkPHP 無線遞迴分類PHP遞迴
- Android學習筆記之檔案分類和線性佈局Android筆記
- Java™ 教程(區域性類)Java
- 【火爐煉AI】機器學習040-NLP性別判斷分類器AI機器學習
- 伺服器硬碟分類伺服器硬碟
- 伺服器的分類伺服器
- 反射-類載入器的概述和分類反射
- HanLP分類模組的分詞器介紹HanLP分詞
- 常見儲存器分類
- Pytorch實現分類器PyTorch
- css選擇器的分類CSS
- 如何選擇機器學習分類器?機器學習
- java連線Redis的工具類JavaRedis
- 【火爐煉AI】機器學習014-用SVM構建非線性分類模型AI機器學習模型
- Java 獲取碟符及分類Java
- 商品 分類 屬性 表設計 庫存
- Java內部類詳解--區域性內部類Java
- 深入剖析 Java 類屬性與類方法的應用Java
- 伺服器的作用和分類伺服器
- python建立分類器小結Python
- 伺服器IP地址的分類伺服器
- 機器學習常用的分類器比較機器學習
- FTP伺服器端程式分類FTP伺服器
- css選擇器分類總結CSS
- 網易面試題-間隔分類器面試題
- 分類學習器的構建
- 揭秘Java反射:如何輕鬆獲取類的屬性及父類屬性Java反射
- 多分類Fisher線性判別演算法演算法