首页 > 其他分享 >寒假训练第3周(牛客冬训营)

寒假训练第3周(牛客冬训营)

时间:2024-02-05 20:11:58浏览次数:29  
标签:set const int 冬训 牛客 寒假 mp -- include

F-Tokitsukaze and Eliminate (hard)_2024牛客寒假算法基础集训营2 (nowcoder.com)

脑袋堵住了,红温没有写出来,后面想到思路直接给否定了,可惜

题解:需要你找最右边第一个,直接先统计一下有多少个颜色的宝石,然后从左往右依次放入set到相应的颜色数就加答案,然后如果这种颜色宝石没有了就需要把一开始统计数减一下即可,后面继续放到set就好了

#include <bits/stdc++.h>
//#pragma GCC optimize("Ofast")
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <cmath>
//#define double long double
#define int long long
//#define endl '\n'
using namespace std;
const int N=1e6+10,M=1e1;
const int INF = 0x3f3f3f3f3f3f3f3f;
const int mod=998244353;
typedef pair<int,int> PII;

int a[N];
set<int> b;
map<int,int> mp;
void solve()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        mp[a[i]]++;
    }
    int l=mp.size();
    int ans=0;
    int c=0;
    for(int i=n;i>=1;i--)
    {
        b.insert(a[i]);
        mp[a[i]]--;
        if(mp[a[i]]==0) c++;
        if(b.size()==l)
        {
            ans++;
            l-=c;
            c=0;
            b.clear();
        }
    }
    cout<<ans<<endl;
    mp.clear();
}
signed main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    int T=1;
    cin>>T;
    while(T--){
        solve();
    }
    return 0;
}

 

标签:set,const,int,冬训,牛客,寒假,mp,--,include
From: https://www.cnblogs.com/whatdo/p/18008744

相关文章

  • 2024.2.5寒假每日总结27
    LeetCode跳跃游戏VI1696.跳跃游戏VI-力扣(LeetCode)题目描述给你一个下标从0开始的整数数组nums和一个整数k。一开始你在下标0处。每一步,你最多可以往前跳k步,但你不能跳出数组的边界。也就是说,你可以从下标i跳到[i+1,min(n-1,i+k)]包含两个端点的任......
  • 2024牛客寒假算法基础集训营2(小白)
    A.TokitsukazeandBraceletCode:#include<bits/stdc++.h>usingnamespacestd;intmain(){intt;cin>>t;while(t--){inta,b,c,cnt=0;cin>>a>>b>>c;if(a>=150)cnt++;if(a>=200)......
  • 2024牛客寒假算法基础集训营2
    题目链接A.模拟#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=1e5+10;voidsolve(){intn;cin>>n;while(n--){inta,b,c;cin>>a>>b>>c;intans=0;if(a==150)ans+=1......
  • 【尚跑】马拉松冬训指南
    1、长跑冬训俗话说:冬练三九,夏练三伏;得冬训者,得PB。冬季跑步有什么好处?总结为以下几点提升心肺功能。寒冷的环境增加心脏跳动频率,能加速新陈代谢与血液循环。增加脂肪代谢。有氧运动会消耗身体的糖原,冬天运动需要耗能产生更多的热量来维持身体体温,运动时间长了会消耗身体脂肪......
  • 寒假day4 2.5
    讲师:钟皓曦,NOI2012Au,from成都七中dp树形dp核心:在树上做的dp给定一棵\(n\)个点的树,求这棵树有几个点。对于树形dp,第一个维度是\(f_i\),代表以\(i\)为根的子树内的信息(有几个点)树形dp的转移方法是把所有儿子信息整合所有儿子的dp值\(\rightarrow\)自己。转移:\(......
  • 牛客周赛31
    A小红小紫替换https://ac.nowcoder.com/acm/contest/74362/A这题相当于签到题只需要将kou的情况转换成yukari就行其他不变点击查看代码#include<bits/stdc++.h>usingnamespacestd;intmain(){stringa;cin>>a;if(a=="kou")cout<<"yukari"......
  • 寒假生活指导27
    为什么SparkSQL可以自动优化而RDD不可以? Catalyst优化器  流程     ......
  • 牛客周赛 Round 31(A~F)
    目录ABCDEFA#include<bits/stdc++.h>#defineintlonglong#definerep(i,a,b)for(inti=(a);i<=(b);++i)#definefep(i,a,b)for(inti=(a);i>=(b);--i)#definepiipair<int,int>#definepllpair<longlong,longlong>#de......
  • 牛客周赛 Round 31(很菜的小白)
    A.小红小紫替换思路:签到题,字符串如果是kou就替换成yukari取余不变解法:无Code:#include<bits/stdc++.h>usingnamespacestd;intmain(){strings;std::cin>>s;std::cout<<(s=="kou"?"yukari\n":s)<<'\n&#......
  • 2024牛客寒假算法基础集训营1 J 又鸟之亦心 题解
    Question2024牛客寒假算法基础集训营1J又鸟之亦心Solution挺好的一个题,给了我很多启发显然,先二分最大值\(D\),关键在于\(check\)怎么写考虑到两个人是相对的,第\(i\)次之后肯定有一个人在\(a_i\),具体是谁不重要,也不需要关注是怎么走过来的,我们需要去维护另外一个人可......