CodeM美团点评编程大赛 初赛B轮 A 黑白树 贪心 E 子串 暴力

CodeM 黑白树 题目描述: 一棵n个点的有根树,1号点为根,相邻的两个节点之间的距离为1。树上每个节点i对应一个值k[i]。每个点都有一个颜色,初始的时候所有点都是白色的。 你需要通过一系列操作使得最终每个点变成黑色。每次操作需要选择一个节点i,i必须是白色的,然后i到根的链上(包括节点i与根)所有与节点i距离小于k[i]的点都会变黑,已经是黑的点保持为黑。问最少使用几次操作能把整棵树变黑。  输入 阅读详情

A题类似想到给多个区间,求最少多少个区间可以覆盖全部的问题,求法就是从当前这步能够到达的区间里,选一个下一步能到的最大值,对于本题,区别一是树形结构,不是一维的直线了,区别二是点都是连续的,不是离散的了,所以就可以把求法转化成记录,树形遍历,记录当前步这个范围里下一步能走的最大值。详见代码

举两个样例方便理解

input

5
1
2
3
2
1 2 3 2 1

output

3

input
5
1
2
3
2
1 2 3 2 3

output

2

#include<bits/stdc++.h>
using namespace std;
vector< int > w[100005];
int n;
int ans;
int book[100005],k[100005],fa[100005];
int dfs(int x)
{
    int now = 0;
    for(int i = 0;i < w[x].size();i++)
    {
        if(book[w[x][i]])
            continue;
        book[w[x][i]]=1;
        now = max(now , dfs(w[x][i]));
    }
    if(now<=1)
    {
        ans++;
        return k[x];
    }
    k[fa[x]] = max(k[fa[x]] , k[x]-1);
    return now-1;
}
int main()
{
    int i,a;
    ans = 0;
    cin >> n;
    for(i = 2;i <= n;i++)
    {
        scanf("%d",&a);
        fa[i]=a;
        w[a].push_back(i);
    }
    for(i = 1;i <= n;i++)
    {
        scanf("%d",&k[i]);
    }
    book[1]=1;
    dfs(1);
    cout << ans << endl;
    return 0;
}

E  纯暴力,因为转换进制时忘记特判位数大于9的情况wa两发。。。。。。。。。

可以用kmp求是否匹配,据说可以直接暴力,string.find()....

应该先做E的。。。

#include<bits/stdc++.h>
using namespace std;
int f[ 2000000];
void getfill(string &s)
{
    memset(f,0,sizeof(f)); 
    for(int i=1;i<s.size();i++)
    {
        int j=f[i];
        while(j && s[i]!=s[j])
            j=f[j];
        f[i+1]=(s[i]==s[j])?j+1:0;
    }
}
int findd(string &a,string &s)
{
    int ans=0;
    int j=0;
    for(int i=0;i<a.size();i++)
    {
        while(j && a[i]!=s[j])
            j=f[j];
        if(a[i]==s[j])
            j++;
        if(j==s.size()){
            return 1;
        }
    }
    return 0;
}
string aa,bb;
int main()
{
    ios::sync_with_stdio(false);
    int n,t,k,i;
    cin>>n>>bb;
    getfill(bb);
    for(k=2;k<=16;k++)
    {
        aa="";
        for(i=1;i<=n;i++)
        {
            string now="";
            int tt=i;
            while(tt)
            {
                if(tt%k>=10)
                now+=(char)(tt%k-10+'A');
                else
                now+=(char)(tt%k+'0');
                tt/=k;
            }
            reverse(now.begin(),now.end());
            aa+=now;
        }
      //  cout<<aa<<endl;
        if(findd(aa,bb)>=1)
        {
            cout<<"yes"<<endl;
            return 0;
        }
    }
    cout<<"no"<<endl;
    return 0;
}


MDD Cup 2017 小记 (美团点评内部算法比赛) gbdt版本     MDD Cup 2017,是美团点评内部首届算法大赛,主要是预测外卖的送达时间,是一个回归问题,简单说一说比赛过程自己的所思所想,记录一下。     拿到数据后,根据大赛的说明简单分析了一下,训练集给出的是一个月的部分数据,测试集是下一个月的数据,需要注意的是训练集给出的是每天24h的数据,而测试集只需要预测11点和17点高峰时期两个小时的数据,而且给出了 阅读详情

相关推荐

飞书文档API深度使用指南:如何用n8n社区节点绕过HTTP Request的复杂配置

本文详细解析了如何利用n8n社区节点简化飞书文档API的集成过程,绕过复杂的HTTP Request配置。通过n8n-feishu-lite社区节点,开发者可以轻松实现飞书文档的创建、编辑和查询操作,大幅提升自动化工作流的效率。文章还提供了高级应用场景和性能优化建议,帮助开发者更好地利用飞书开放平台的API功能。

weixin_29227585的博客 83

美团CodeM编程大赛资格赛题解

写在前面: 最近闲来没事参加了美团的CodeM大赛,赛程最初是一个资格赛环节,只要能够答对任意一题即可以进入初赛环节,本着锻炼自己的目的就报名参加了,没有想过拿到什么名次,大学这么多年,总是仰望各种大神去参加计算机竞赛,这一次自己也去体验一下。 大赛主页:美团点评变成大赛 进入正题: 概要: 总共6个题,三个小时的时间安排。晋级要求只需要答出其中一道题即可。 第一题 音乐研究 题目

luuuyi的博客 7285

深入解析Dataloader中shuffle机制与随机种子对模型训练的影响

本文深入探讨了Dataloader中shuffle机制与随机种子对机器学习模型训练的影响。通过实际案例分析,详细解释了数据打乱顺序的必要性、随机种子的正确设置方法以及两者协同工作的原理,帮助开发者避免常见陷阱并提升模型训练效果。

weixin_29166013的博客 142

飞书CodeM 上手实测:从写代码到修 Bug,AI 研发同事到底有多好用

CodeM以企业级 Coding Agent 为核心,能够像一名研发工程师一样,融入飞书与飞书项目的日常协作和研发流程,承接需求开发、缺陷修复等研发工作。

2611_95632166的博客 242

Keil中搭建自动化单元测试框架Unity

前言:   虽然一些C++的自动化单元测试框架也能用来C语言单元测试,但那样我们编写C语言程序时需要符合C++的标准,这样有一些C的特性是无法使用的,限制C的特性使用不太好,于是找了一个全部用C实现的自动化测试框架。Unity是一个简单且直接的自动化单元测试框架,它由很少的几个文件构成。 搭建环境:   1.从github上下载最新版本的Unity源码,下载链接:https://github...

程序员的自我修炼 3900

Windows 10下用VS2022编译AFSIM 2.9.0的完整避坑指南

本文提供了在Windows 10系统下,使用Visual Studio 2022编译AFSIM 2.9.0仿真框架的详细指南。文章系统梳理了从环境准备、CMake配置、编译链接到安装打包的全流程,并重点针对编译过程中常见的文件编码、命名空间冲突等高频错误提供了具体解决方案,旨在帮助开发者高效避坑,顺利完成AFSIM在Windows平台上的构建。

weixin_28839549的博客 549

什么是飞书 CodeM?一篇讲清楚这个企业级 Coding Agent(附官方资料)

飞书 CodeM 是飞书原生的 AI 研发智能体(企业级 Coding Agent),懂研发,更懂团队交付。它以企业级 Coding Agent 为核心,能够像一名研发工程师一样,融入飞书与飞书项目的日常协作和研发流程,承接需求开发、缺陷修复等研发工作。

2611_95632166的博客 534

免费升级哨兵2号分辨率!用SRCNN深度学习模型实现10米→2.5米超分重建

本文详细介绍了如何利用SRCNN深度学习模型,将哨兵2号遥感影像的分辨率从10米免费提升至2.5米。文章提供了从数据准备、模型训练到部署应用的全流程实战指南,旨在通过AI应用技术,为农业监测、城市规划等领域提供更高精度的影像数据支持。

coffee的博客 524

跟着 CodeM 走完一个需求:从群里一句话到自动上线的完整链路

跟着飞书 CodeM 把一条需求从群聊承接一路走到自动合码上线,还原企业级 Coding Agent 真正的工作方式。

2611_95632166的博客 231

SAP ABAP CO核心扩展-为企业定制ZCKM3N物料价格分析增强(CKM3 CKM3N CKM8N)

这篇文章,将为大家讲述物料价格分析扩展增强(ZCKM3N)的方法和原理,并基于CKM3N的视图之一“CV成本组件”,教大家如何一步步实现批量输出多工厂物料的物料价格分析报表。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 3985

鸢尾花分类预测

鸢尾花数据总用有150个样本,是一个典型的分类数据集,共有3个类别,分别是山鸢尾(Iris-setosa)、变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica),每个样本的特征有4列sepal_length:萼片长度sepal_width:萼片宽度petal_length:花瓣长度petal_width:花瓣宽度这里我们定义了随机森林模型作为实例,来进行模型训练,之后我们会对其使用网格搜索找到最优的参数。

优快云 精品推荐 2189

[LOJ6175] 「美团 CodeM 初赛 Round B」黑白树[树形DP]

每次从当前的叶子往上DP(每条链上没有染色的深度最大点视为叶子),先看子树里的点能不能染到这个点,染不到就++ans,把这个点的k传上去,能染到的话要chmax(k[fa[u]], k[u]-1) vint G[MAXN]; int k[MAXN], fa[MAXN], ans; inline int dfs(int u) { int cur = 0; for (int i = 0; i ...

weixin_34060299的博客 245

基于SAHI算法优化YOLOv8的小目标检测性能研究

SAHI(SliceAwareHyperInference)是一种推理优化算法,通过将大图切片为小块并分别推理的方式,实现更精细的小目标检测。提升小目标检测精度:切片后的小目标在每个小块中占比更大,模型能够更好地聚焦。兼容性强:可直接集成到现有目标检测框架中(如YOLO系列、Detectron2等)。支持大分辨率图片和视频推理:减少硬件对大图推理的限制。本文详细探讨了如何通过SAHI(切片辅助超推理算法)结合YOLOv8模型,有效提升小目标检测性能,尤其是在高分辨率图片和视频场景中表现优异。

博客 2371

「美团 CodeM 资格赛」数码 详解

3142: #6083. 「美团 CodeM 资格赛」数码 Time Limit: 1 Sec  Memory Limit: 256 MB   Description 给定两个整数 l 和 r,对于任意 x,满足l≤x≤r ,把 x 的所有约数全部写下来。对于每个写下来的数,只保留最高位的那个数码。求[1,9]中每个数码出现的次数。 输入格式 输入一行两个整数 l 和 r。 输出格式...

Five—菜鸟级的博客 998

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

#6175. 「美团 CodeM 初赛 Round B」黑白树

题意就丢个链接吧:https://loj.ac/problem/6175 看完题之后,我的第一反应就是跑拓扑图啊 因为我比较无脑,然后就开始打了 WA了。。。。 然后想啊想啊,最后喵了眼题解,发现了一句重要的情况 假设有这样一种情况: 其K:4 10 2 2 1 1 1 1 这样的话,我们肯定先选8作为起点,染色到5.那么暴力去想的话继续以4为起点,染

OZY的博客 590

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

CodeM美团点评编程大赛初赛B轮 A.黑白树【树型Dp】

编程|500分] 黑白树 时间限制:1秒 空间限制:32768K 题目描述 一棵n个点的有根树,1号点为根,相邻的两个节点之间的距离为1。树上每个节点i对应一个值k[i]。每个点都有一个颜色,初始的时候所有点都是白色的。 你需要通过一系列操作使得最终每个点变成黑色。每次操作需要选择一个节点i,i必须是白色的,然后i到根的链上(包括节点i与根)所有与节点i距

mengxiang000000 1616

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

CodeM美团 初赛A轮 A题 身体训练

美团外卖的配送员用变速跑的方式进行身体训练。 他们训练的方式是:n个人排成一列跑步,前后两人之间相隔 u 米,每个人正常速度均为 v 米/秒。 当某个配送员排在最后的时候,他需要以当时自己的最高速度往前跑,直到超过排头的人 u 米,然后降回到原始速度 v 米/秒。每个人最初的最高速度为c[i] 米/秒,每轮衰减d[i] 米/秒,也就是说,如果i是第j个跑的,那么他的速度就是c[i]-(j-1)*

退役的铜牌狗 1306

牛客网-2018 美团 CodeM 编程大赛-初赛 A 轮

ACM模版 这场比赛没有晋级,以为没有好好打……我又在找借口。下午去办入职体检,比赛开始时还在回来路上,回到宿舍的时候就剩下半个小时了,签了一下到就没时间了。赛后发现第三题很有意思,就补了补…… 1-遥控按键 模拟一下就行。详解&gt;&gt;&gt; 2-下棋 贪心,逆向思维。详解&gt;&gt;&gt; 3-城市漫游 LCALCALCA 搞搞就好了,写的有些麻烦了……详解&gt;...

逐梦者 1048

牛客网-2018 美团 CodeM 编程大赛-初赛 A 轮-3-城市漫游

ACM模版 描述 题解 这个题出的十分好,让我回忆起了遗忘已久的一些东西。 首先,题意是给定一个树,nnn 个结点,n−1n−1n - 1 条边,每条边有时间花费 ziziz_i,给定若干组起点 SSS 和 TTT,要求从 SSS 到 TTT 时,必须每条边都经过至少 lilil_i 次,问最少花费。 这里,我们首先很容易想到的是应该和 SSS 到 TTT 的最短路径(这里的...

逐梦者 815

美团点评软件测试编程题,CodeM美团点评编程竞赛 资格赛题解(下)!

原标题:CodeM美团点评编程竞赛 资格赛题解(下)!关注我哟本文为美团codeM竞赛资格赛后三题题解。送外卖题目描述n 个小区排成一列,编号为从 0 到 n-1 。一开始,美团外卖员在第0号小区,目标为位于第 n-1 个小区的配送站。给定两个整数数列 a[0]~a[n-1] 和 b[0]~b[n-1] ,在每个小区 i 里你有两种选择:1) 选择a:向前 a[i] 个小区。2) 选择b:向前 b...

weixin_32789783的博客 472

# 美团点评CodeM编程大赛-题五

美团点评CodeM编程大赛-题五 题目描述 给定两个整数 l 和 r ,对于所有满足1 ≤ l ≤ x ≤ r ≤ 10^9 的 x ,把 x 的所有约数全部写下来。对于每个写下来的数,只保留最高位的那个数码。求1~9每个数码出现的次数。输入描述: 一行,两个整数 l 和 r (1 ≤ l ≤ r ≤ 10^9)。输出描述: 输出9行。 第 i 行,输出数码 i 出现的次数。输入例

Maybebane的博客 1520

2018 CodeM初赛A轮 下棋答案(B题) (第二道题)

题目:      有一个1*n的棋盘, 上面有若干个棋子,一个格子上可能有多个棋子,      你每次操作是先选择一个棋子,然后选择一下两个操作中的一个:           (1)若该棋子不在(1,1),让这个棋子往左走一格,即从(1,x)走到(1,x - 1);          (2)若该棋子不在(1,n),且这个棋子曾静到达过(1,1),让这个格子往右走一格,即从(1,x)走到(1,x+1...

Torch_Man的博客 1134

CodeM美团点评B轮:子串(E题) Java暴力解决

给出一个正整数n,我们把1..n在k进制下的表示连起来记为s(n,k),例如s(16,16)=123456789ABCDEF10, s(5,2)=11011100101。现在对于给定的n和字符串t,我们想知道是否存在一个k(2 ≤ k ≤ 16),使得t是s(n,k)的子串。  输入描述: 第一行一个整数n(1 ≤ n ≤ 50,000)。 第二行一个字符串t(长度 ≤ 1,000,0

Mike_CSU的博客 640

「美团 CodeM 初赛 Round A」倒水

题目链接:倒水题目大意:给你一个一个大水杯,里面有温度为T,体积为C的水,然后有n个水杯,每个水杯的温度是t[i],体积是c[i],然后问你能不能通过把水杯的水倒进小水杯里,使得所有小水杯温度相同且最高,两个体积为c1,c2,温度为t1,t2的水混合后的温度为c1∗t1+c2∗t2c1+c2\dfrac{c1*t1+c2*t2}{c1+c2}题目思路:我们可以先找出所有小水杯的温度最大值maxx和最

Nemaleswang的博客 693

CodeM美团点评编程大赛初赛B轮题解

[编程题] 子串 时间限制:1秒 空间限制:32768K 给出一个正整数n,我们把1..n在k进制下的表示连起来记为s(n,k),例如s(16,16)=123456789ABCDEF10, s(5,2)=11011100101。现在对于给定的n和字符串t,我们想知道是否存在一个k(2 ≤ k ≤ 16),使得t是s(n,k)的子串。  输入描述: 第一行一个整数n

你那么爱笑,家里人知道吗? 944

CodeM美团点评编程大赛初赛A轮 C.倒水【二分+分类讨论】

[编程题] 倒水 时间限制:1秒 空间限制:32768K 有一个大水缸,里面水的温度为T单位,体积为C升。另有n杯水(假设每个杯子的容量是无限的),每杯水的温度为t[i]单位,体积为c[i]升。 现在要把大水缸的水倒入n杯水中,使得n杯水的温度相同,请问这可能吗?并求出可行的最高温度,保留4位小数。 注意:一杯温度为t1单位、体积为c1升的水与另一杯温度为t2单位

mengxiang000000 774
上一篇: qduoj 河神的难题 思维 实验室腊新呐 枚举
下一篇: Codeforces Round #423 (Div. 2) C. String Reconstruction思维 D. High Load 构造
jerans
博客等级 码龄10年 54粉丝 255原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值