2023百度之星 题目详解 公园+糖果促销

2023百度之星题目详解

文章目录

  • 2023百度之星题目详解
    • 前言
    • 公园问题
      • 题目详解
    • 夏日漫步问题
      • 问题详情
      • 题目详解

前言

这里为大家带来最新的2023百度之星的题目详解,后续还会继续更新,喜欢的小伙伴可以点个关注啦!

公园问题

今天是六一节,小度去公园玩,公园一共 N 个景点,正巧看到朋友圈度度熊也在这个公园玩,于是他们约定好一块去景点 N。 小度当前所在景点编号为 T,从一个景点到附近的景点需要消耗的体力是 TE,而度度熊所在景点编号为 F ,移动消耗为FE。 好朋友在一块,赶路都会开心很多,所以如果小度和度度熊一块移动(即在相同位置向相同方向移动),每一步他俩的总消耗将会减少 S。
求他俩到景点 N 时,所需要的总消耗最少是多少?
输入格式:
第一行三个数值,TE,FE,S 分别代表小度移动消耗值,度度熊移动消耗值,一起移动的消耗减少值。1<=TE,FE,S<=40000,S<=TE+FE.
第二行四个数值,T,F,N,M ,分别代表小度出发点,度度熊出发点,目标节点,总路径数。
接下来 M 行,每行两个整数 ,X,Y,代表连通的两个景点。1≤X,Y≤N。

输出格式:
一个整数,即总消耗最小值。如果不能到达
1≤TE,FE,S≤40000,S≤TE+FE;
输出格式:
一个整数,即总消耗最小值。如果不能到达 N , 输出-1。
样例 1
输入:

4 4 3
1 2 8 8
1 4
2 3
3 4
4 7
2 5
5 6
6 8
7 8

输出:

22

题目详解

分成3次bfs 运算,每次针对一个点,记得先从 N 点开始;
遍历3个点中间的所有点,找到距离总和最小的那个店

#include<bits/stdc++.h> using namespace std;
const int N =4e4 + 7,M=2*N;
// int h[N],e[M],ne[M],idx;
int te,fe,s;
int t,f,n,m;
int distT[N],distF[N],distN[N];
int st[N];
vector<int> a[N]; 
void bfs(int start ,int times,int dist[]){queue<int> q;st[start]++;q.push(start);while(!q.empty()){auto t=q.front();q.pop();for(auto & y:a[t]){if(st[y]==times) continue;dist[y]=dist[t]+1;st[y]++;q.push(y);}}
}int main()
{cin>>te>>fe>>s;cin>>t>>f>>n>>m;// memset(dist,-1,sizeof dist);// memset(h,-1,sizeof h);while(m--){int x,y;cin>>x>>y;a[x].push_back(y);a[y].push_back(x);// add(a,b);// add(b,a);}bfs(n,1,distN);if(!st[t] || !st[f]){cout<<-1;return 0;}bfs(t,2,distT);bfs(f,3,distF);int ans=1e9;for(int i=1;i<=n;i++){if(st[i]){ans=min(ans,distT[i]*te+distF[i]*fe+distN[i]*(te+fe-s));}}cout<<ans<<endl;return 0;
}

夏日漫步问题

问题详情

夏日夜晚,小度看着庭院中长长的走廊,萌发出想要在上面散步的欲望,小度注意到月光透过树荫落在地砖上,并且由于树荫的遮蔽度不通,所以月光的亮度不同,为了直观地看到每个格子的亮度,小度用了一些自然数来表示它们的亮度。亮度越高则数字越大,亮度相同的数字相同。

走廊是只有一行地砖的直走廊。上面一共有
n 个格子,每个格子都被小度给予了一个数字 a i​ 来表示它的亮度。
小度现在站在 1 号格子,想要去到 n 号格子。小度可以正向或反向移动到相邻的格子,每次需要花费 1 的体力。
同时小度还有瞬移的能力,其可以花费 1 的体力来瞬移到与当前格子亮度相同的格子上。而且由于小度视野有限,只能瞬移到在当前格子后的第一次亮度相同的格子上。这也意味着不能反向瞬移。
小度想知道,到达 n 号格子需要花费的最小体力是多少。以此制定一个最优秀的散步方案。

格式
输入格式:
第一行一个整数 n ,表示走廊上一共有 n 个格子。
第二行 n 个整数,为自然数 a i 表示第 i 号格子的亮度。

输出格式:
一行,一个整数cost表示花费的最小体力。
样例 1
输入:
6
0 1 2 3 1 5
输出:
3

题目详解

用pair存储输入的数据,按光照亮度进行排序,亮度相同的点就汇集到一起了,记得这个节点是单向的,没排序之前相邻的节点是双向的。
*

#include<iostream>
#include<queue>
#include<cstring>
#include<algorithm>
using namespace std;
const int N =2e5 + 7,M=3*N;
typedef pair<int,int> PII;
PII a[N];
bool st[N];
int dist[N],e[M],ne[M],h[N],idx,n;
void add(int a,int b){e[idx]=b;ne[idx]=h[a];h[a]=idx++;
}
int bfs(){memset(dist,-1,sizeof dist);dist[1]=0;queue<int> q;q.push(1);st[1]=true;while(!q.empty()){auto t=q.front();q.pop();for(int i=h[t];i!=-1;i=ne[i]){int j=e[i];if(!st[j]){dist[j]=dist[t]+1;q.push(j);st[j]=true;}}}return dist[n];
}
int main(){cin>>n;memset(h,-1,sizeof h);for(int i=1;i<=n;i++){int x;cin>>x;a[i]={x,i};}sort(a+1,a+n+1);// for(int i=1;i<=n;i++){//     cout<<a[i].first<<' '<<a[i].second<<endl;// }for(int i=1;i<n;i++){add(i,i+1);add(i+1,i);}for(int i=1;i<n;i++){if(a[i].first==a[i+1].first){add(a[i].second,a[i+1].second);}}cout<<bfs()<<endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/85226.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OceanBase杨传辉传递亚运火炬:国产数据库为“智能亚运”提供稳稳支持

9 月 14 日&#xff0c;亚运火炬传递到了浙江台州&#xff0c;OceanBase 的 CTO 杨传辉作为火炬手交接了第 89 棒火炬。 2010 年&#xff0c;杨传辉作为创始成员之一参与自研原生分布式数据库 OceanBase。十年磨一剑&#xff0c;国产数据库 OceanBase 交出了一张优秀的成绩单&a…

若依cloud -【 100 ~ 】

100 分布式日志介绍 | RuoYi 分布式日志就相当于把日志存储在不同的设备上面。比如若依项目中有ruoyi-modules-file、ruoyi-modules-gen、ruoyi-modules-job、ruoyi-modules-system四个应用&#xff0c;每个应用都部署在单独的一台机器里边&#xff0c;应用对应的日志的也单独存…

基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(三)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 1、上一节说到RedisReceiver &#xff0c;这里有调用了NbcioRedisListener自定义业务监听&#xff0c;如下…

「UG/NX」Block UI 指定方位SpecifyOrientation

✨博客主页何曾参静谧的博客📌文章专栏「UG/NX」BlockUI集合📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C+&#

Django系列:Django应用(app)的创建与配置

Django系列 Django应用&#xff08;app&#xff09;的创建与配置 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article…

Integer使用不当

Integer包装类 Integer 是一个封装类型。它是对应一个 int 类型的包装。 在 Java 里面之所以要提供 Integer 这种基本类型的封装类&#xff0c;是因为 Java 是一个面向对象的语言&#xff0c; 而基本类型不具备对象的特征&#xff0c;所以在基本类型上做了一层对象的包装并且提…

数据结构--排序(1)

文章目录 排序概念直接插入排序希尔排序冒泡排序堆排序选择排序验证不同排序的运行时间 排序概念 排序指的是通过某一特征关键字&#xff08;如信息量大小&#xff0c;首字母等&#xff09;来对一连串的数据进行重新排列的操作&#xff0c;实现递增或者递减的数据排序。 稳定…

【C++】静态成员函数 ( 静态成员函数概念 | 静态成员函数声明 | 静态成员函数访问 | 静态成员函数只能访问静态成员 )

文章目录 一、静态成员函数简介1、静态成员函数概念2、静态成员函数声明3、静态成员函数访问4、静态成员函数只能访问静态成员 二、代码示例 - 静态成员函数 一、静态成员函数简介 1、静态成员函数概念 静态成员函数归属 : 在 C 类中 , 静态成员函数 是一种 特殊的函数 , 该函数…

MFC串口通信控件MSCOMM32.OCX的安装注册

MSCOMM32.OCX是一个与Microsoft Corporation开发的MSComm控件相关联的文件。MSComm控件是软件应用程序用来与调制解调器、条形码读取器和其他串行设备等设备建立串行通信的通信控件。 下载地址1 https://download.csdn.net/download/m0_60352504/88345092 下载地址2 https://ww…

kafka的 ack 应答机制

目录 一 ack 应答机制 二 ISR 集合 一 ack 应答机制 kafka 为用户提供了三种应答级别&#xff1a; all&#xff0c;leader&#xff0c;0 acks &#xff1a;0 这一操作提供了一个最低的延迟&#xff0c;partition的leader接收到消息还没有写入磁盘就已经返回ack&#x…

虚拟机部署linux网络连接配置

1、虚拟机安装linux后&#xff0c;配置网络访问 虚拟机网络设置为NAT模式 linux网络配置好IP&#xff0c;主要是以下网络配置 2、linux没有ifconfig命令&#xff0c;ifconfig命令是在net-tools.x86_64包里 yum install net-tools.x86_64安装

Linus Torvalds接受来自微软的Linux Hyper-V升级

导读微软最近推送了一些变更&#xff0c;旨在改进即将发布的 Linux 内核 6.6 版本对 Hyper-V 的支持。这些改进包括在 Hyper-V 上支持 AMD SEV-SNP guest 和 Intel TDX guest。除了这两项&#xff0c;还有其他一些升级&#xff0c;如改进了 VMBus 驱动程序中的 ACPI&#xff08…

【Vue3 源码解析】ref 全家桶

// 函数重载&#xff0c;以便根据传入的不同参数类型执行不同的处理 export function ref<T extends Ref>(value: T): T export function ref<T>(value: T): Ref<UnwrapRef<T>> export function ref<T any>(): Ref<T | undefined> export…

操作系统:体系结构

1.内核的划分 1.术语解释 时钟管理&#xff1a;利用时钟断实现计时功能。原语是一种特殊的程序,具有原子性。也就是说,这段程序的运行必须一气呵成&#xff0c;不可被“中断”Ubuntu、Centos的开发团队,其主要工作是实现非内核功能&#xff0c;而内核都是用了Linux内核。 内核…

hive数据初始化

mysql版本&#xff1a;3.1.3 hive版本&#xff1a; 8.0.31 hive连接配置 <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://node88:3306/hive?createDatabaseIfNotExisttrue</value> </pr…

算法 滑动窗口最大值-(双指针+队列)

牛客网: BM45 题目: 数组num, 窗口大小size, 所有窗口内的最大值 思路: 用队列作为窗口&#xff0c;窗口内存储数组坐标&#xff0c;left window[0], right从数组0开始遍历完数组&#xff0c;每次新增元素时&#xff0c;(1)先对窗口大小进行收缩到size大小范围&#xff0c;即…

单元测试 —— JUnit 5 参数化测试

JUnit 5参数化测试 目录 设置我们的第一个参数化测试参数来源 ValueSourceNullSource & EmptySourceMethodSourceCsvSourceCsvFileSourceEnumSourceArgumentsSource参数转换参数聚合奖励总结 如果您正在阅读这篇文章&#xff0c;说明您已经熟悉了JUnit。让我为您概括一下…

Java中swing的5种布局方式浅析

在一个传统的java项目中&#xff0c;遇到一个需要调整布局的需求&#xff0c;下面将学习网上大佬的文章&#xff0c;并将过程记录下来。 1、Java swing5种布局方式 1、 边界布局&#xff08;BorderLayout&#xff09;2、流式布局&#xff08;FlowLayout&#xff09;3、网格布局…

王道考研操作系统

王道考研操作系统 计算机系统概述操作系统的概念操作系统的特征操作系统的发展历程操作系统内核中断和异常![在这里插入图片描述](https://img-blog.csdnimg.cn/162452b4c60144e0bd500e180127c447.png)系统调用操作系统结构虚拟机错题 进程与线程进程控制进程通信线程和多线程模…

如何获取美团的热门商品和服务

导语 美团是中国最大的生活服务平台之一&#xff0c;提供了各种各样的商品和服务&#xff0c;如美食、酒店、旅游、电影、娱乐等。如果你想了解美团的热门商品和服务&#xff0c;你可以使用爬虫技术来获取它们。本文将介绍如何使用Python和BeautifulSoup库来编写一个简单的爬虫…