首页 > 其他分享 >题解 CF637B

题解 CF637B

时间:2023-02-17 15:59:11浏览次数:33  
标签:ch buffer 题解 top int while CF637B

题目大意:

维护个栈,去重保留最上层

题目分析:

啥也不是,数组模拟 \(\text{stack} + \text{unordered\_map}\) 直接秒掉。

复杂度 \(O(n)\)

代码实现:

#include <bits/stdc++.h>
#define debug(x) cerr<<#x<<": "<<x<<endl;
#define int long long
using namespace std;

inline int read()
{
	int x=0,f=1;char ch=getchar();
	while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
	while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
	return x*f;
}

namespace Larry76{
    const int MAX_SIZE = 2e5;
    string sta[MAX_SIZE];
    map<string,bool>hashtable;
    int top = 0;
    void main(){
        //Code Here;
        int n;
        cin>>n;
        string buffer;
        while(n--){
            cin>>buffer;
            sta[++top] = buffer;
        }
        while(top){
            if(!hashtable[sta[top]]){
                cout<<sta[top]<<endl;
                hashtable[sta[top]] = 1;
            }
            --top;
        }
    }
}

signed main(){
#ifdef LOCAL
    freopen("in.in","r",stdin);
    freopen("out.out","w",stdout);
    double c1 = clock();
#else
    ios::sync_with_stdio(false);
#endif
//============================================
    Larry76::main();
//============================================
#ifdef LOCAL
    double c2 = clock();
    cerr<<"Used Time: "<<c2-c1<<"ms"<<endl;
    if(c2-c1>1000)
        cerr<<"Warning!! Time Limit Exceeded!!"<<endl;
    fclose(stdin);
    fclose(stdout);
#endif
    return 0;
}

标签:ch,buffer,题解,top,int,while,CF637B
From: https://www.cnblogs.com/larry76/p/17130431.html

相关文章

  • 题解 CF742B
    题目大意:给定\(n\)个数,找数对使其异或值为\(k\),求满足这样数对的个数。题目分析:考验位运算功底的题目(实际上也不是很难),主要运用到了下列性质:\[\begin{aligned}\bec......
  • 20230207模拟赛题解
    A-CF755D考虑每次加边产生的贡献。发现每次加边的贡献是这条边与别的边的交点数量加\(1\)。所以可以用线段树或树状数组等数据结构维护,注意要令\(k=\min(k,n-k)\)。B-......
  • CAD坐标显示不全怎么办?CAD坐标常见问题解答!
    今天小编来和大家聊一下浩辰CAD看图王中关于CAD坐标的那些事,比如:CAD坐标为何显示不全?CAD坐标显示结果和之前不一样?以及不能精准捕捉CAD坐标等情况,应该如何轻松解决?今天就和......
  • 0210 模拟题解
    0210模拟题解t1直接枚举\(k\),考虑计算答案。首先发现这个限制等价于存在长度\(\gen-k\)的上升子段。那我们反过来,计算所有上升子段长度都\(\len-k-1\)的方案数......
  • CF、AT 杂题题解
    CF1455Fsolution1前\(i\)次操作只会影响到\([1,i+1]\),并且在第\(i\)次操作前,原本在位置\(i\)的数只可能在\(i\)或\(i-1\)。于是就可以考虑设\(f_{i,0/1}\)......
  • YACS 2023年1月月赛 乙组 T4 加与乘(二) 题解
    题目链接应大家的要求,早上起来更一下乙组T4。这一道题目我们发现不仅会加元素了,还会重复执行任务。很容易想到用两个树状数组来维护每个任务的执行次数,以及每个单元格......
  • ZJOI 2022 部分题解
    ZJOI2022部分题解太菜了所以只写了两题[ZJOI2022]树https://www.luogu.com.cn/problem/P8329题解玩一玩样例可以得到这样的式子\[ans=\sum_{S\cupT=[n],\S\c......
  • 牛客练习赛 108 题解
    六道题目的出题人都是我,希望大家玩的开心!https://ac.nowcoder.com/acm/contest/51208A.惊鸿显然位或之后只会变大,因此答案为\(4\times(a_1\text{or}a_2\text{or}......
  • 二、Keil——Missing Compiler Version 5 和 core_cm3.c 问题解决
    Keil丢失编译器版本5、内核文件core_cm3.c报错目录Keil丢失编译器版本5、内核文件core_cm3.c报错前言一、MissingCompilerVersion51.下载ArmCompiler52.ARMCC3......
  • 0215 模拟题解
    0215模拟题解t1按照时间\(dp\),好处是和活着的怪物个数相关的概率容易计算。\(dp(i,mask)\)表示时间到\(i\),\(mask\)的怪已经被干掉的概率。这里我们假设\(1\)到......