萌新联赛萌新

发布时间:2026/7/29 4:13:43
萌新联赛萌新 I-Domino_河南萌新联赛2026第二场河南农业大学题目大意遍历倒下的卡牌记录这些卡牌倒下的范围在n中取最大值思路受第一块影响倒的这些卡牌每个都要进行像第一块卡牌这样的操作取最大值如果算出某个卡牌影响的范围超过了总卡牌数让此时的这个值等于n#includebits/stdc.h using namespace std; #define int long long #define endl \n #define pii pairint,int #define fi first #define se second const int N101; void slove(){ int n; cinn; vectorinta(n1); for(int i1;in;i){ cina[i]; } int r1; for(int i1;in;i){ rmax(r,a[i]i-1); if(in||ir){ couti; return; } } } signed main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int _1; //cin_; while(_--) slove(); return 0; } #includebits/stdc.h using namespace std; #define int long long #define endl \n #define pii pairint,int #define fi first #define se second const int N101; void slove(){ int n; cinn; vectorinta(n1); for(int i1;in;i){ cina[i]; } int r1; for(int i1;ir;i){ int cia[i]-1; if(shun)rn; else rmax(r,c); } coutrendl; } signed main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int _1; //cin_; while(_--) slove(); return 0; }L-至理名言_河南萌新联赛2026第二场河南农业大学思路op1,记录出现过的字符串并记录每个前缀出现的次数因为要判断op2中字符串是否出现过op3他会忘掉这句话和这句话的所有前缀因此用每个前缀出现的次数-这句话出现的次数0时说明这个前缀不是前辈之前说的某个字符串而仅仅是这句话要忘掉所以要删除当0时他是前辈说的其他字符串不会忘记也就不用删不会出现0,因为他出现的最少次数就是不重要的字符串出现的次数#includebits/stdc.h using namespace std; #define int long long #define endl \n #define pii pairint,int #define fi first #define se second const int N101; void slove(){ int n; cinn; unordered_mapstring,intmp; while(n--){ int op; string s; cinop; if(op1){ cins; string st; for(auto c:s){ stc; mp[st]; } coutmp[s]endl; } else if(op2){ string stt; cinstt; if(mp.count(stt)) coutYESendl; else coutNOendl; } else{ string sttt; cinsttt; string s1; int shu mp[sttt]; // 这条句子当前一共存在shu次 for(auto x:sttt){ s1 x; mp[s1] - shu; if(mp[s1]0) mp.erase(s1); } //mp.erase(sttt); } } } signed main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int _1; //cin_; while(_--) slove(); return 0; }