Day1总结

· 2026-7-13 16:44:46

A.通配符匹配https://qycode64.com/course/6a47850a69fcccaa3fd46be4/exam/6a48a2cf69fcccaa3fd48d84/problem/CF1023A?lang=zh思路:双指针对比两个字符串的字符错因:单指针使用错误,少写了一种判断“NO”的情况#include<bits/stdc++.h>using namespace std;int main(){ int n,m; string s,t; cin>>n>>m>>s>>t; if(m+1<n){ cout<<"NO"; return 0; } int i=0,j=n-1,k=m-1; while(i<n && s[i]!=''){ if(s[i]!=t[i]){ cout<<"NO"; return 0; } i++; } while(j>=0 && s[j]!=''){ if(s[j]!=t[k]){ cout<<"NO"; return 0; } j--; k--; } cout<<"YES"; return 0;}B.文本文档分析https://qycode64.com/course/6a47850a69fcccaa3fd46be4/exam/6a48a2cf69fcccaa3fd48d84/problem/CF723B?lang=zh思路:1,区分括号内外 2,依据要求统计,记录最大值 3,还原错因:输出没加空格#include<bits/stdc++.h>using namespace std;int main(){ int n,t=0,x=0,maxn=0,maxm=0; string a; cin>>n>>a; for(int i=0;i<n;i++){ if(a[i]'('){ t=1; maxn=max(maxn,x); x=0; } else if(a[i]')'){ t=0; x=0; } else if(a[i]'_'){ if(t0){ maxn=max(maxn,x); x=0; } } else{ if(t0)x++; else{ if(i0||a[i-1]'('||a[i-1]'_')maxm++; } } } maxn=max(maxn,x); cout<<maxn<<错误点" "<<maxm; return 0;}C.维他命https://qycode64.com/course/6a47850a69fcccaa3fd46be4/exam/6a48a2cf69fcccaa3fd48d84/problem/CF1042B?lang=zh思路:枚举确定最小值错因:少枚举3种情况#include<bits/stdc++.h>using namespace std;int c[1010];string s[1010];int main(){ int n,az=100001,bz=100001,cz=100001,abz=100001,bcz=100001,acz=100001,abcz=100001; cin>>n; for(int i=1;i<=n;i++){ cin>>c[i]>>s[i]; if(s[i].size()1){ if(s[i][0]'A')az=min(az,c[i]); if(s[i][0]'B')bz=min(bz,c[i]); if(s[i][0]'C')cz=min(cz,c[i]); } else if(s[i].size()2){ if((s[i][0]'A'&&s[i][1]'B')||(s[i][0]'B'&&s[i][1]'A'))abz=min(abz,c[i]); if((s[i][0]'A'&&s[i][1]'C')||(s[i][0]'C'&&s[i][1]'A'))acz=min(acz,c[i]); if((s[i][0]'B'&&s[i][1]'C')||(s[i][0]'C'&&s[i][1]'B'))bcz=min(bcz,c[i]); } else abcz=min(abcz,c[i]); } abz=min(abz,az+bz); acz=min(acz,az+cz); bcz=min(bcz,bz+cz); abcz=min(abcz,az+bz+cz); abcz=min(abcz,abz+cz); abcz=min(abcz,acz+bz); abcz=min(abcz,bcz+az); 错误点abcz=min(abcz,bcz+abz); 错误点abcz=min(abcz,acz+bcz); 错误点abcz=min(abcz,abz+acz); if(abcz100001)cout<<-1; else cout<<abcz; return 0;}D.小k的查询https://qycode64.com/course/6a47850a69fcccaa3fd46be4/exam/6a48a2cf69fcccaa3fd48d84/problem/CF313B思路:前缀和未错#include<bits/stdc++.h>using namespace std;int cnt[100010];int main(){ string s; int m; cin>>s>>m; int n=s.size(); 重点for(int i=1;i<n;i++)cnt[i+1]=cnt[i]+(s[i-1]==s[i]); for(int i=1;i<=m;i++){ int a,b; cin>>a>>b; cout<<cnt[b]-cnt[a]<<"\n"; } return 0;}E.非洲填字游戏https://qycode64.com/course/6a47850a69fcccaa3fd46be4/exam/6a48a2cf69fcccaa3fd48d84/problem/CF90B?lang=zh思路:1,统计每一行,列某种字母出现了几次, 2,遍历每个字母,若它在行,列中出现多次则抹除,输出未抹除的字母未错#include<bits/stdc++.h>using namespace std;int l[105][26]={0},zx[105][26]={0};int main(){ int n,m; cin>>n>>m; vectorwc(n+1); for(int i=1;i<=n;i++) cin>>wc[i]; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ l[i][wc[i][j-1]-'a']++; zx[j][wc[i][j-1]-'a']++; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ int g=wc[i][j-1]-'a'; if(l[i][g]1&&zx[j][g]1)cout<<wc[i][j-1]; } } return 0;}F.排名列表https://qycode64.com/course/6a47850a69fcccaa3fd46be4/exam/6a48a2cf69fcccaa3fd48d84/problem/CF166A?lang=zh思路:结构体排序未错#include<bits/stdc++.h>using namespace std;struct team{ int p,t;};bool cmp(team a,team b){ if(a.p!=b.p) return a.p>b.p; return a.t<b.t;}int main(){ int n,k; cin>>n>>k; vector zx(n); for(int i=0;i<n;i++) cin>>zx[i].p>>zx[i].t; sort(zx.begin(),zx.end(),cmp); int lz=0; while(lz<n){ int j=lz; while(j<n&&zx[j].pzx[lz].p&&zx[j].tzx[lz].t) j++; int cnt=j-lz; if(k>=lz+1&&k<=lz+cnt){ cout<<cnt; return 0; } lz=j; } return 0;}

2 次查看 举报

0 条评论

目前还没有评论...

Be the first to comment!

返回讨论列表
高士渠
95
通过题目
11
发帖数