牛客竞赛每日俩题 - Day12

简介: 牛客竞赛每日俩题 - Day12

set的插入删除

数据库连接池__牛客网

[解题思路]

循环接收每组用例,对于每组用例进行如下操作:

1. 依次获取每个状态,如果该状态是"connect",则将其id插入到set中,否则删除该id

2. 获取从刚开始到目前set中的最大值

3. 输出结果

#include<iostream>
#include<unordered_set>
using namespace std;
int main()
{
    int n;
    while(cin>>n)
    {
        string id,op;
        unordered_set<string> s;
        size_t maxv=0;    //不可用int,因为s.size()为无符号整形
        while(n--)
        {
            cin>>id>>op;
            if(op=="connect")
                s.insert(id);
            else
                s.erase(id);
            maxv=max(maxv,s.size());//若用int则无法比较
        }
        cout<<maxv<<endl;
    }
    return 0;
}

vector<string>的应用

mkdir__牛客网

[解题思路]

只要按照题面,将前缀字符串路径和相同路径剔除,只mkdir -p最长或者唯一路径就可以解决这

个问题

循环接收每组用例,对于每组用户进行如下操作

  1. 对改组用例按照字典顺序排序
  2. 将改组用例中相等的或者前一个是后一个子串的路径剔除
  3. 输入结果并换行
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
    int n;
    while(cin>>n)
    {
        vector<string> path(n);//提前初始化空间,push_back()很慢
        for(int i=0;i<n;i++)//获得所有路径
            cin>>path[i];
        sort(path.begin(),path.end());//字典序排序
        vector<bool> flag(n,true);//bool标记,实现伪删除
        for(int i=0;i<n-1;i++)
        {
            if(path[i]==path[i+1]) flag[i]=false;//相等则删除
            if(path[i].size()<path[i+1].size()&&
               path[i+1].substr(0,path[i].size()) == path[i]&&
                path[i+1][path[i].size()]=='/')//可能有/a和/ab情况
            {
                flag[i]=false;//如果该串是另一个串的子串,删除
            }
        }
        for(int i=0;i<n;i++)
        {
            if(flag[i]) cout<<"mkdir -p "<<path[i]<<endl;//输出没有被删除的
        }
        cout<<endl;
    }
    return 0;
}

排列难题:

Pre-Post__牛客网

相关文章
|
6月前
|
存储
每日一题——leetcode682.棒球比赛
每日一题——leetcode682.棒球比赛
|
算法
牛客竞赛每日俩题 - Day14
牛客竞赛每日俩题 - Day14
|
容器
牛客竞赛每日俩题 - Day10
牛客竞赛每日俩题 - Day10
牛客竞赛每日俩题 - Day9
牛客竞赛每日俩题 - Day9
|
机器学习/深度学习 存储 自然语言处理
牛客竞赛每日俩题 - 动态规划1
牛客竞赛每日俩题 - 动态规划1
|
人工智能 BI
牛客竞赛每日俩题 - Day4
牛客竞赛每日俩题 - Day4
105 0
牛客竞赛每日俩题 - Day4
|
存储 测试技术
牛客竞赛每日俩题 - Day13
牛客竞赛每日俩题 - Day13
牛客竞赛每日俩题 - Day3
牛客竞赛每日俩题 - Day3
牛客竞赛每日俩题 - Day2
牛客竞赛每日俩题 - Day2