2022年3月16日比赛后,有哪些总结要点?

2026-05-05 23:451阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计605个文字,预计阅读时间需要3分钟。

2022年3月16日比赛后,有哪些总结要点?

今日训练赛题目总结:总体来说,今天的题目偏向纯数学问题(尤其是我的软肋),自然比赛结果也异常惨烈。不过,遗憾的是B题我在最后有了思路,可能是没把握住最后的时间。

2022年3月16日比赛后,有哪些总结要点?

一、今日训练赛题目总结

总体来说,今天的题目偏纯数学题目(恰好戳中我的软肋),自然比赛结果也异常惨烈,不过遗憾的是B题我在最后有了思路,可是我没有把握住最后的时间,强迫自己冷静下来深入思考。

但是也有些意外收获吧。

  本次比赛的A题中用到了一个我比较不常用的容器——stack,以前只知道这玩意遵循后进先出,却从来没想过用它来求个数为偶数的回文串(本质上统计的是位置对称且相同的字母对)。另外,第一题虽然走了很多弯路,但是我学会了STL容器中如何删除,里面容器(详情见大佬博文:STL容器中erase的一些注意事项,priority_queue中的一些细节用法)。

二、训练赛习题

  1.A题

  题意:找出字符串中的所有处于对称位置且相等的字母对数,然后转化为步数,步数为偶数则B win,若步数为奇数 ,则A win。

  题解:利用stack的FIFO特性,统计处于对称位置且相等的字母对数

查看代码

#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<queue> #include<stack> #include<map> #include<set> #include<vector> #include<cmath> using namespace std; #define maxn 100020 #define inf 1e8 // const int N=1e5+10; stack<char>t; int main() { int ans=0; std::ios::sync_with_stdio(false); std::cin.tie(0); string s; cin>>s; int len=s.size(); for(int i=0;i<len;i++) { if(t.size()==0) t.push(s[i]); else{ if(s[i]==t.top()) { ans++; t.pop(); } else { t.push(s[i]); } } } if(ans&1) cout<<"Yes"; else cout<<"No"; return 0; }

三、今日结语
今天的每日一题没有完成,明天一定给它补回来。另外,我的复习计划最近恐怕很难搞起来,所以我准备在4.9赛后开启整个复习项目。
忙碌的一天,明天加油!!!



  

  

本文共计605个文字,预计阅读时间需要3分钟。

2022年3月16日比赛后,有哪些总结要点?

今日训练赛题目总结:总体来说,今天的题目偏向纯数学问题(尤其是我的软肋),自然比赛结果也异常惨烈。不过,遗憾的是B题我在最后有了思路,可能是没把握住最后的时间。

2022年3月16日比赛后,有哪些总结要点?

一、今日训练赛题目总结

总体来说,今天的题目偏纯数学题目(恰好戳中我的软肋),自然比赛结果也异常惨烈,不过遗憾的是B题我在最后有了思路,可是我没有把握住最后的时间,强迫自己冷静下来深入思考。

但是也有些意外收获吧。

  本次比赛的A题中用到了一个我比较不常用的容器——stack,以前只知道这玩意遵循后进先出,却从来没想过用它来求个数为偶数的回文串(本质上统计的是位置对称且相同的字母对)。另外,第一题虽然走了很多弯路,但是我学会了STL容器中如何删除,里面容器(详情见大佬博文:STL容器中erase的一些注意事项,priority_queue中的一些细节用法)。

二、训练赛习题

  1.A题

  题意:找出字符串中的所有处于对称位置且相等的字母对数,然后转化为步数,步数为偶数则B win,若步数为奇数 ,则A win。

  题解:利用stack的FIFO特性,统计处于对称位置且相等的字母对数

查看代码

#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<queue> #include<stack> #include<map> #include<set> #include<vector> #include<cmath> using namespace std; #define maxn 100020 #define inf 1e8 // const int N=1e5+10; stack<char>t; int main() { int ans=0; std::ios::sync_with_stdio(false); std::cin.tie(0); string s; cin>>s; int len=s.size(); for(int i=0;i<len;i++) { if(t.size()==0) t.push(s[i]); else{ if(s[i]==t.top()) { ans++; t.pop(); } else { t.push(s[i]); } } } if(ans&1) cout<<"Yes"; else cout<<"No"; return 0; }

三、今日结语
今天的每日一题没有完成,明天一定给它补回来。另外,我的复习计划最近恐怕很难搞起来,所以我准备在4.9赛后开启整个复习项目。
忙碌的一天,明天加油!!!