P14130 题解

· · 题解

附赠题目传送门

这题题意比较明确,只需要稍微进行转化。

每个子序列没出现过的最小自然数都不为 0,即每个子序列都包含 0

那么想到,要使这样的子序列尽可能多,就要让每个子序列包含的 0 尽量少,即只包含一个。

那么问题就转化成了:题目序列中,包含一个 0 的不同子序列有多少个,也就是求原序列中的 0 有多少个

于是代码就很好写了喵~那么——

代码来咯

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    int ans=0;
    for(int i=1;i<=n;i++){
        int x;
        cin>>x;
        if(!x)//也可以是if(x==0)
            ans++;
    }
    cout<<ans;
    return 0;
}

马蜂奇丑

AC记录

那么这道入门题解就到这,点个赞再走阔以吗?