首页 > 其他分享 >2024.08.10美团

2024.08.10美团

时间:2024-09-05 17:37:50浏览次数:11  
标签:10 小美 int 美团 2024.08 st 数组 长度 彩带

1. 小美的密码

小美准备登录美团,需要输入密码,小美忘记了密码,只记得密码可能是 n个字符串中的一个。
小美会按照密码的长度从小到大依次尝试每个字符串,对于相同长度的字符串,小美随机尝试,并且相同的密码只会尝试一次。
小美想知道,她最少需要尝试多少次才能登录成功,最多需要尝试多少次才能登录成功。

哈希找规律
int main() {
    int n;
    cin>>n;
    string target;
    cin>>target;
    map<int,int> m;//记录对应长度字符串个数
    unordered_set<string> st;//避免重复
    for(int i=0;i<n;i++){
        string cur;
        cin>>cur;
        if(st.count(cur)) continue;
        st.insert(cur);
        m[cur.size()]++;
    }
    int res = 0;
    for(auto [key,val]:m){
        if(key==target.size()) break;
        res += val;
    }
    cout<<res+1<<" "<<res+m[target.size()];
    return 0;
}

2. 小美的数组删除

小美有一个长度为 n 的数组 a1,a2,....,an ,他可以对数组进行如下操作:
● 删除第一个元素 a1,同时数组的长度减一,花费为 x。
● 删除整个数组,花费为 k*MEX(a) (其中 MEX(a) 表示 a 中未出现过的最小非负整数。例如 [0,1,2,4] 的 MEX 为 3 )。
小美想知道将 a 数组全部清空的最小代价是多少,请你帮帮他吧。

顺序遍历同时维护快速查询的最小非负整数(使用动态规划+队列+哈希)
int main() {
    int T;
    cin>>T;
    while(T--){
        int n,k,x;
        cin>>n>>k>>x;//元素数量、删除整个数组的花费系数、删除单个元素的花费
        vector<int> nums(n);
        for(int i=0;i<n;i++)
            cin>>nums[i];
        int res= INT_MAX;
        queue<int> q;
        for(int i=0;i<=n;i++)
            q.push(i);
        unordered_set<int> st;//记录已经出现的整数
        vector<int> dp(n);//dp[i]表示以i为开头,之后数组不存在的最小非负整数
        for(int i=n-1;i>=0;i--){
            st.insert(nums[i]);
            while(st.count(q.front()))
                q.pop();
            dp[i] = q.front();
        }
        int delpre = 0;
        for(int i=0;i<n;i++){
            res = min(res,delpre+k*dp[i]);
            delpre+=x;
        }
        cout<<res;
    }
    return 0;
}

3. 小美的彩带

小美的彩带是由一条长度为 n 的彩带一直无限循环得到的,彩带的每一个位置都有一个颜色,用 ai 表示。
因此当 i>n 时,ai = ai-n  。小美每次会从左往后或从右往左剪一段长度为 x 的彩带,她想知道她每次剪下来的彩带有多少种颜色。

标签:10,小美,int,美团,2024.08,st,数组,长度,彩带
From: https://www.cnblogs.com/929code/p/18398913

相关文章

  • 【32项目】基于stm32f103c8t6的智能拐杖(文章末尾含完整代码)
    一.设计背景当我们带着家中的老人出去游玩时,难免会遇到有时老人走丢的情况,加上一般他们没有随时携带手机的习惯,很难找到他们,于是我们设计了一款智能的拐杖,通过通过GPS、电子罗盘等模块,来获取经纬度和磁北的夹角,然后通过对方的经纬度计算距离和角度,指向对方的位置,显示为对方的......
  • 解决Windows 10系统更新后谷歌浏览器的兼容性问题
    随着Windows10系统更新的推出,用户可能会遇到谷歌浏览器(Chrome)与更新不兼容的问题,如网页显示错误、扩展程序故障或性能下降等。本教程旨在提供一系列解决方案,帮助用户克服这些问题,确保浏览器平稳运行。(本文由https://chrome.cmrrs.com/站点的作者进行编写,转载时请进行标注。)......
  • 《DNK210使用指南 -CanMV版 V1.0》第二十二章 六轴传感器——原始数据读取实验
    第二十二章六轴传感器——原始数据读取实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-......
  • GBJ3510-ASEMI新能源专用整流桥GBJ3510
    编辑:llGBJ3510-ASEMI新能源专用整流桥GBJ3510型号:GBJ3510品牌:ASEMI封装:GBJ-4批号:2024+分类:整流桥特性:整流扁桥、整流桥平均正向整流电流(Id):35A最大反向击穿电压(VRM):1000V恢复时间:>2000ns结温:-55℃~150℃正向峰值电压:1.05V引脚数量:4芯片个数:4芯片尺寸:MILGBJ3510特点芯片与底板电气绝缘......
  • GBJ3510-ASEMI新能源专用整流桥GBJ3510
    编辑:llGBJ3510-ASEMI新能源专用整流桥GBJ3510型号:GBJ3510品牌:ASEMI封装:GBJ-4批号:2024+分类:整流桥特性:整流扁桥、整流桥平均正向整流电流(Id):35A最大反向击穿电压(VRM):1000V恢复时间:>2000ns结温:-55℃~150℃正向峰值电压:1.05V引脚数量:4芯片个数:4芯片尺寸:MILGBJ3510特点......
  • 2024.08.03科大讯飞飞凡计划(简单)
    1.交换树节点给定一棵树,每个节点有一个权值。现在每次可以交换任意两个节点的权值,请问最少多少次交换可以使得每个节点的权值等于它的编号?保证给出的权值是一个排列,也就是说保证一定有解。不用考虑树的关系,因为不是相邻交换```intmain(){intn;cin>>n;v......
  • 【正点原子K210连载】第二十四章 LCD显示实验 摘自【正点原子】DNK210使用指南-CanMV
    第二十四章LCD显示实验本章将介绍初步介绍CanMV下LCD的使用。通过本章的学习,读者将学习到板载LCD的简单使用。本章分为如下几个小节:24.1lcd模块介绍24.2硬件设计24.3程序设计24.4运行验证24.1lcd模块介绍lcd模块是CanMV内置的模块,lcd模块用于驱动LCD进行一些简单的显示......
  • 【正点原子K210连载】第二十五章 LCD图片显示实验 摘自【正点原子】DNK210使用指南-Ca
    第二十五章LCD图片显示实验本章将介绍在LCD上的图片显示。通过本章的学习,读者将学习到LCD上图片的显示。本章分为如下几个小节:25.1lcd模块介绍25.2硬件设计25.3程序设计25.4运行验证25.1lcd模块介绍有关lcd模块的介绍,请见第24.1小节《lcd模块介绍》。25.2硬件设计25......
  • 避免的10个关键Google Merchant Center错误
    作为一名电子商务商家,您可能已经了解使用GoogleMerchantCenter来管理产品数据并在Google服务(主要是Google购物)上展示商品的好处。然而,由于可用的功能和设置众多,您很容易陷入一些常见的陷阱,这些陷阱会损害您的销售和曝光度。别担心!在本文中,我们将讨论GoogleMerchantCenter......
  • TOGAF9.2/10 认证基础知识点概览表
    TOGAF9.2/10认证基础知识点概览表(考点解析:TOGAF基础架构是通用服务和功能的架构,为构建更具体的架构和架构组件提供了基础。这个基础架构体现在技术参考模型(TRM)中,它提供了通用平台服务的模型和分类法。1、TOGAFTRM的目的是为识别通用平台服务提供可视......