2022.3.16赛后总结

Posted 大闸蟹不要闸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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赛后开启整个复习项目。
忙碌的一天,明天加油!!!



  

  

以上是关于2022.3.16赛后总结的主要内容,如果未能解决你的问题,请参考以下文章

ccpc杭州站 赛后总结

CSP-S2019 退役记/赛后总结

ContestNowcoder 假日团队赛1 题解+赛后总结

10/7 赛后总结

上海站赛后总结&反思

河南省信息安全对抗大赛赛后总结