特徵提取-map
小明是一名演算法工程師,同時也是一名鏟屎官。某天,他突發奇想,想從貓咪的視訊裡挖掘一些貓咪的運動資訊。為了提取運動資訊,他需要從視訊的每一幀提取“貓咪特徵”。一個貓咪特徵是一個兩維的vector<x, y>。如果x_1=x_2 and y_1=y_2,那麼這倆是同一個特徵。
因此,如果喵咪特徵連續一致,可以認為喵咪在運動。也就是說,如果特徵<a, b>在持續幀裡出現,那麼它將構成特徵運動。比如,特徵<a, b>在第2/3/4/7/8幀出現,那麼該特徵將形成兩個特徵運動2-3-4 和7-8。
現在,給定每一幀的特徵,特徵的數量可能不一樣。小明期望能找到最長的特徵運動。
輸入描述:
第一行包含一個正整數N,代表測試用例的個數。 每個測試用例的第一行包含一個正整數M,代表視訊的幀數。 接下來的M行,每行代表一幀。其中,第一個數字是該幀的特徵個數,接下來的數字是在特徵的取值;比如樣例輸入第三行裡,2代表該幀有兩個貓咪特徵,<1,1>和<2,2> 所有用例的輸入特徵總數和<100000 N滿足1≤N≤100000,M滿足1≤M≤10000,一幀的特徵個數滿足 ≤ 10000。 特徵取值均為非負整數。
輸入例子1:
1 8 2 1 1 2 2 2 1 1 1 4 2 1 1 2 2 2 2 2 1 4 0 0 1 1 1 1 1 1
輸出例子1:
3
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
// 每個測試用例
for (int i = 0; i < n; i++) {
calcEachTestExample(sc);
}
}
private static void calcEachTestExample(Scanner sc) {
// 幀數
int m = sc.nextInt();
sc.nextLine();
int maxCount = 0;
ArrayList<HashMap<Features, Integer>> rowList = new ArrayList<HashMap<Features, Integer>>();
for (int i = 0; i < m; i++) {
int rowNum = sc.nextInt();
HashMap<Features, Integer> map = new HashMap<Features, Integer>();
for (int j = 0; j < 2 * rowNum - 1; j = j + 2) {
Features fd = new Features(sc.nextInt(), sc.nextInt());
int fdcount = 1;
// 最大特徵數是上層最大加1
if (rowList.size() > 0 && rowList.get(i - 1).containsKey(fd)) {
fdcount = rowList.get(i - 1).get(fd) + 1;
}
map.put(fd, fdcount);
maxCount = Math.max(maxCount, fdcount);
}
rowList.add(map);
sc.nextLine();
}
System.out.println(maxCount);
}
public static class Features {
int x;
int y;
public Features(int a, int b) {
x = a;
y = b;
}
@Override
public boolean equals(Object o) {
if (o instanceof Features) {
return x == ((Features)o).x && y == ((Features)o).y;
}
return false;
}
@Override
public int hashCode() {
return Integer.hashCode(x & y);
}
}
}
相關文章
- 特徵提取之Haar特徵特徵
- 機器學習-特徵提取機器學習特徵
- 影象特徵提取之HoG特徵特徵HOG
- 流量特徵提取工具NFStream特徵NFS
- sift、surf、orb 特徵提取及最優特徵點匹配ORB特徵
- 資訊增益(IG)特徵提取例項特徵
- 語音的關鍵聲學特徵(語音情感特徵提取)特徵
- 機器學習之資料清洗與特徵提取機器學習特徵
- 影象特徵提取:Sobel邊緣檢測特徵
- Yang 提取Cifar-100的特徵特徵
- 基於節拍同步的 IF PCP 特徵提取特徵
- 利用sklearn進行字典&文字的特徵提取特徵
- 卷積濾波器如何提取影象特徵卷積特徵
- librosa 音訊特徵提取的現成文件ROS音訊特徵
- 使用yarGen提取Linux惡意指令碼特徵Linux指令碼特徵
- 原來CNN是這樣提取影像特徵的。。。CNN特徵
- 3.SIFT特徵提取與ransac演算法特徵演算法
- 4.SIFT特徵提取與ransac演算法特徵演算法
- SparkML機器學習之特徵工程(一)特徵提取(TF-IDF、Word2Vec、CountVectorizer)Spark機器學習特徵工程
- 深度學習中的互資訊:無監督提取特徵深度學習特徵
- 【火爐煉AI】機器學習050-提取影像的Star特徵AI機器學習特徵
- LOAM演算法核心解析之特徵點的提取(一)演算法特徵
- OpenCV特徵提取與影像檢索實現(附程式碼)OpenCV特徵
- caffe之提取任意層特徵並進行視覺化特徵視覺化
- 【火爐煉AI】機器學習049-提取影像的SIFT特徵點AI機器學習特徵
- 【火爐煉AI】機器學習049-提取影象的SIFT特徵點AI機器學習特徵
- 語音識別的特徵提取中的相關引數特徵
- 第二篇:使用Spark對MovieLens的特徵進行提取Spark特徵
- 使用SAP Cloud Platform Leonardo機器學習提取圖片的特徵向量CloudPlatform機器學習特徵
- 基於vlfeat的HOG特徵提取c++程式碼實現HOG特徵C++
- XAIGen:自動化攻擊特徵提取的專案開源啦AI特徵
- 資料探勘一般流程(資料清洗,特徵提取,建模,調參)特徵
- 使用SAP Leonardo上的機器學習服務提取圖片的特徵向量機器學習特徵
- Spark特徵(提取,轉換,選擇)extracting, transforming and selecting featuresSpark特徵ORM
- 機器學習-無監督學習(人臉識別,使用NMF進行特徵提取)機器學習特徵
- 學習筆記17:DenseNet實現多分類(卷積基特徵提取)筆記SENet卷積特徵
- 經典演算法研究系列:九、影象特徵提取與匹配之SIFT演算法演算法特徵
- NLP詳細教程:手把手教你用ELMo模型提取文字特徵(附程式碼&論文)模型特徵