蚂蚁暑期 319 笔试全相等解题defsolve():nint(input())sinput()ans0forleftinrange(n):freq[0]*26forrightinrange(left,n):freq[ord(s[right])-ord(a)]1valsset(iforiinfreqifi0)iflen(vals)1:ans1print(ans)Tint(input())for_inrange(T):solve()文本数值混合特征工程求解机器学习的题目 本质都是数据加载 - 特征处理 - 模型训练 - 预测输出这四个固定模块importjsonimportnumpyasnpfromsklearn.feature_extraction.textimportTfidfVectorizerfromsklearn.linear_modelimportSGDClassifier,LogisticRegressionfromsklearn.preprocessingimportStandardScaler,PolynomialFeaturesfromscipy.sparseimporthstack# 1. 加载数据datajson.loads(input())train_txtdata[train_txt]train_numnp.array(data[train_num])train_ynp.array(data[train_y])test_txtdata[test_txt]test_numnp.array(data[test_num])# Word-level TF-IDFword_vecTfidfVectorizer(lowercaseTrue,stop_wordsenglish,ngram_range(1,2),sublinear_tfTrue)tr_wordword_vec.fit_transform(train_txt)te_wordword_vec.transform(test_txt)# Char 3-gram TF-IDFchar_vecTfidfVectorizer(analyzerchar,ngram_range(3,3),lowercaseTrue,sublinear_tfTrue)tr_charchar_vec.fit_transform(train_txt)te_charchar_vec.transform(test_txt)# Numeric: StandardScaler PolynomialFeaturesscalerStandardScaler()polyPolynomialFeatures(degree2,include_biasFalse)tr_numpoly.fit_transform(scaler.fit_transform(train_num))te_numpoly.transform(scaler.fit_transform(test_num))# 合并X_trhstack([tr_word,tr_char,tr_num])X_tehstack([te_word,te_char,te_num])# LogisticRegressionlrLogisticRegression(penaltyl2,solverliblinear,max_iter1000,random_state42)lr.fit(X_tr,train_y)# SGDClassifiersgdSGDClassifier(losslog_loss,penaltyl2,alpha1e-4,max_iter1000,random_state42)sgd.fit(X_tr,train_y)# 软投票prob(lr.predict_proba(X_te)[:1]sgd.predict_proba(X_te)[:1])/2preds(prob0.5).astype(int).tolist()print(json.dumps(preds))三元异或考的是 异或的基本性质a⊕bc⟹ab⊕c,ba⊕cdefsolve():n,kmap(int,input().split())numslist(map(int,input().split()))# a_i ^ a_j ^ a_p ^ a_q k a_i ^ a_j k ^ (a_p ^ a_q)mp{}# key为 a_i ^ a_j的值 value是数组存放 下标元组(i, j)foriinrange(n):forjinrange(i1,n):vnums[i]^nums[j]ifvnotinmp:mp[v][]mp[v].append((i,j))foriinrange(n):forjinrange(i1,n):targetnums[i]^nums[j]^kiftargetnotinmp:continuefora,binmp[target]:ifi!aandi!bandj!aandj!b:print(Yes)returnprint(No)Tint(input())for_inrange(T):solve()
蚂蚁暑期 319 笔试
蚂蚁暑期 319 笔试全相等解题defsolve():nint(input())sinput()ans0forleftinrange(n):freq[0]*26forrightinrange(left,n):freq[ord(s[right])-ord(a)]1valsset(iforiinfreqifi0)iflen(vals)1:ans1print(ans)Tint(input())for_inrange(T):solve()文本数值混合特征工程求解机器学习的题目 本质都是数据加载 - 特征处理 - 模型训练 - 预测输出这四个固定模块importjsonimportnumpyasnpfromsklearn.feature_extraction.textimportTfidfVectorizerfromsklearn.linear_modelimportSGDClassifier,LogisticRegressionfromsklearn.preprocessingimportStandardScaler,PolynomialFeaturesfromscipy.sparseimporthstack# 1. 加载数据datajson.loads(input())train_txtdata[train_txt]train_numnp.array(data[train_num])train_ynp.array(data[train_y])test_txtdata[test_txt]test_numnp.array(data[test_num])# Word-level TF-IDFword_vecTfidfVectorizer(lowercaseTrue,stop_wordsenglish,ngram_range(1,2),sublinear_tfTrue)tr_wordword_vec.fit_transform(train_txt)te_wordword_vec.transform(test_txt)# Char 3-gram TF-IDFchar_vecTfidfVectorizer(analyzerchar,ngram_range(3,3),lowercaseTrue,sublinear_tfTrue)tr_charchar_vec.fit_transform(train_txt)te_charchar_vec.transform(test_txt)# Numeric: StandardScaler PolynomialFeaturesscalerStandardScaler()polyPolynomialFeatures(degree2,include_biasFalse)tr_numpoly.fit_transform(scaler.fit_transform(train_num))te_numpoly.transform(scaler.fit_transform(test_num))# 合并X_trhstack([tr_word,tr_char,tr_num])X_tehstack([te_word,te_char,te_num])# LogisticRegressionlrLogisticRegression(penaltyl2,solverliblinear,max_iter1000,random_state42)lr.fit(X_tr,train_y)# SGDClassifiersgdSGDClassifier(losslog_loss,penaltyl2,alpha1e-4,max_iter1000,random_state42)sgd.fit(X_tr,train_y)# 软投票prob(lr.predict_proba(X_te)[:1]sgd.predict_proba(X_te)[:1])/2preds(prob0.5).astype(int).tolist()print(json.dumps(preds))三元异或考的是 异或的基本性质a⊕bc⟹ab⊕c,ba⊕cdefsolve():n,kmap(int,input().split())numslist(map(int,input().split()))# a_i ^ a_j ^ a_p ^ a_q k a_i ^ a_j k ^ (a_p ^ a_q)mp{}# key为 a_i ^ a_j的值 value是数组存放 下标元组(i, j)foriinrange(n):forjinrange(i1,n):vnums[i]^nums[j]ifvnotinmp:mp[v][]mp[v].append((i,j))foriinrange(n):forjinrange(i1,n):targetnums[i]^nums[j]^kiftargetnotinmp:continuefora,binmp[target]:ifi!aandi!bandj!aandj!b:print(Yes)returnprint(No)Tint(input())for_inrange(T):solve()