Codeforces Round #751 (Div. 2) D. Frog Traveler(BFS)

2023-11-18

题解:因为我们最多把所有的点跳一遍么,所以直接BFS模拟一下就行了。注意现在跳的点不能是以前已经跳过的点,并且只能越跳越高,否则没有意义,这样就保证了时间复杂度是线性的。
AC代码:

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+5;
int n;
int a[N],b[N];
int pre[N],d[N];
bool st[N];
void bfs(){
	for(int i=0;i<=n;i++)st[i]=false,pre[i]=d[i]=-1;
		
	queue<int>q;
	q.push(n);
	st[n]=1;
	int mi=n;
	
	while(q.size()){
		int now=q.front();
		q.pop();
		
		if(now-a[now]>=mi)continue;
		
		for(int i=now-a[now];i<mi;i++){
			int ne=i+b[i];
			if(st[ne])continue;
			
			st[ne]=true,pre[ne]=now,d[ne]=i;
			q.push(ne);
		}
		
		mi=now-a[now];
	}
}

void print_ans(){
	if(!st[0]){
		cout<<-1<<endl;
		return;
	}
	
	int x=0;
	vector<int>ans;
	while(pre[x]!=-1){
		ans.push_back(d[x]);
		x=pre[x];
	}
	
	reverse(ans.begin(),ans.end());
	cout<<ans.size()<<endl;
	for(auto x:ans)cout<<x<<" ";
	cout<<endl;
}

main(){
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++)cin>>b[i];
	
	bfs();
	print_ans();	
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Codeforces Round #751 (Div. 2) D. Frog Traveler(BFS) 的相关文章

  • SL4 AutoCompleteBox 重复筛选结果问题

    我在 AutoCompleteBox 过滤方面遇到问题 它似乎记住了之前的过滤器 例如 我输入 A 它会返回 1 项 我删除 A 并输入 Z 这应该返回 1 项 问题是它返回 A 过滤器加上 Z 的结果 我删除 Z 并输入 S 这会带回 2
  • C 中的变量定义是什么意思[重复]

    这个问题在这里已经有答案了 你们能告诉我 这在 C 中意味着什么吗 define Privileged Data Privileged Data static int dVariable 编译器对变量进行寻址有特殊意义吗 这只是一个宏Pri
  • MVC 重定向到没有控制器的视图

    希望应该是一个简单的 我创建了一个通用错误视图 当整个站点的操作方法内发生异常时 我想显示该视图 我创建了一个部分页面 所有导航都位于其中 因此我不需要在此视图上使用控制器 那么如何从控制器内的操作方法重定向到它 像这样的东西 HttpPo
  • 使用不带参数的 Split() 时,默认分隔符是什么?

    所以我看了看String Split 今天 C 中的方法 我意识到你也可以向它传递零参数 这是我从未考虑过的 使用时默认的分隔符是什么Split 没有任何参数 如果没有值 则为空白 来源自here https msdn microsoft
  • F10键没被抓住

    I have a Windows Form and there overriden ProcessCmdKey However this works with all of the F Keys except for F10 I am tr
  • 将成员函数作为参数传递/c++

    我想用 C 实现一个类b可以通过封装该迭代器类型的成员集进行某种迭代 喜欢 b object for each x do function f so 函数 f会得到每个人的x成员并做任何事情 比方说 void function f x me
  • 使用反射获取基类的受保护属性值

    I would like to know if it is possible to access the value of the ConfigurationId property which is located in the base
  • 用 C# 制作 Vista 风格的应用程序

    我正在运行 Windows Vista 并且希望外观看起来像常规 Vista 程序 有没有关于如何构建 Vista 风格应用程序的真正好的教程 文章 我还想学习如何使用本机代码并将其转换为 C 如this http bartdesmet n
  • 指示泛型返回动态类型的对象

    这个问题是我原来问题的后续问题here https stackoverflow com questions 2541184 using a type object to create a generic 假设我有以下泛型类 简化 class
  • Microsoft.Graph - 如何从具有不同用户名的共享邮箱发送?

    我目前正在将使用 SMTP 的服务代码移植到 Office 365 通过 SMTP 我可以使用 发件人 字段在来自共享收件箱的邮件上设置不同的用户名 同时保留共享电子邮箱地址 这似乎无法通过 Office 365 运行 其工艺流程为 客户填
  • 使用scanf()时如何区分整数和字符

    我只是使用该功能scanf 代码如下 scanf d a printf d a 当我输入1时 它会像我想要的那样打印1 但即使我输入 1a 它也会像以前一样打印 1 当用户输入非整数时 例如 2 3 12ab 1 a 我想向用户显示 输入整
  • 不要声明只读可变引用类型 - 为什么不呢?

    我一直在阅读这个问题 https stackoverflow com questions 2274412 immutable readonly reference types fxcop violation do not declare r
  • 如何不在类中实现接口的功能?

    面试时面试官问了我以下问题 但我不知道这个问题的答案是什么 请帮忙 如果我不想 我必须做什么 在我的类中实现一个函数 在接口中声明为 由我班实施 Edited 我正在使用 NET 和 C 如果有人可以提供 C 示例代码示例 那就太好了 Th
  • 如何将字符串转换为 Indian Money 格式?

    我正在尝试将字符串转换为印度货币格式 例如如果输入为 1234567 则输出应为 12 34 567 我编写了以下代码 但它没有给出预期的输出 CultureInfo hindi new CultureInfo hi IN string t
  • 将 bignum 类型结构转换为人类可读字符串的有效方法是什么?

    我有一点问题 为了增长我的 C 知识 我决定尝试实现一个基本的 bigint 库 bigint 结构的核心将是一个 32 位整数数组 选择它们是因为它们适合寄存器 这将允许我在数字之间进行操作 这些操作将在 64 位整数中溢出 这也将适合寄
  • 展开路径中具有环境变量的文件名

    最好的扩张方式是什么 MyPath filename txt to home user filename txt or MyPath filename txt to c Documents and settings user filenam
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 如何将 CSV 文件读入 .NET 数据表

    如何将 CSV 文件加载到System Data DataTable 根据CSV文件创建数据表 常规 ADO net 功能是否允许这样做 我一直在使用OleDb提供者 但是 如果您正在读取具有数值的行 但希望将它们视为文本 则会出现问题 但
  • 是否有任何不使用公共虚拟方法的正当理由? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否有任何不使用公共虚拟方法的正当理由 我在某处读到我们应该避免使用公共虚拟方法 但我想向专家确认这是否是有效的声明 对于良好且稳定的 API
  • 正在获取“未终止 [] 设置”。 C# 中的错误

    我正在 C 中使用以下正则表达式 Regex find new Regex url

随机推荐

  • 详解通往Web3的护照:去中心化身份DID

    介绍 互联网的创建没有为人们提供本地身份验证层 由此 数字身份问题被纳入网站和应用程序范畴 这种方法可能适用于互联网的早期阶段 但现在线上有数十亿人 但缺点正变得越来越明显 用户名和密码仍占主导地位 尽管这被反复证明是不安全的模型 普通人必
  • 安卓各个平台适配

    标题安卓各个平台适配 一 安卓6 0适配 1 targetSdkVersion Android 6 0 API 级别 23 2 相关API 3 简单的例子 4 封装库 二 安卓7 0适配 1 使用FileProvider 1 manifes
  • httpip工具实践

    应用场景 jenkins在发布完成后需要请求一个接口验证数据 如果是正确的返回相应数据 采用传统的curl没有色差输出 不方便阅读 使用http命令结果会有色彩输出 方便阅读 安装方法 官网地址https httpie org CentOS
  • Docker在云平台上的最佳实践:基于容器技术的DevOps探索

    12月9日 在云栖计算之旅线下沙龙上 阿里云容器服务团队的高级研发工程师秦妤嘉分享了 基于容器技术的DevOps探索 首先介绍了DevOps和CD 接着分析了Docker如何打破传统CD壁垒 最后讲解了怎样从零开始搭建一个持续交付系统 视频
  • 华为OD机试真题- 对称字符串【2023Q2】【JAVA、Python、C++】

    题目描述 对称就是最大的美学 现有一道关于对称字符串的美学 已知 第 1 个字符串 R 第 2 个字符串 BR 第 3 个字符串 RBBR 第 4 个字符串 BRRBRBBR 第 5 个字符串 RBBRBRRBBRRBRBBR 相信你已经发
  • 《高效能程序员的修炼》之译者序

    出版社的冀康一开始来找我谈翻译这本书的时候 我的第一反应是 这兄弟真是不知道我现在有多忙 我每天要处理200多封邮件 在资源有限的情况下经常要同时带6 7个项目 而且每个项目的交付计划都很紧 压力很大 每天起码工作12个小时 有时候还要熬夜
  • python连续输入多行_python-遍历Pandas DataFrame并插入行的最快方法

    我正在构建一个工具 以帮助您每周自动执行来自多个实验室设置的数据审查 每天都会生成一个制表符分隔的文本文件 每行代表每2秒获取的数据 因此共有43200行和许多列 每个文件为75mb 我正在使用pandas readcsv加载七个文本文件
  • Python基础知识笔试

    Python基础知识笔试 单选题 2 5分 20题 1 下列哪个表达式在Python中是非法的 B A x y z 1 B x y z 1 C x y y x D x y 2 python my py v1 v2 命令运行脚本 通过 fro
  • JavaScript 基础

    JavaScript 基础 JavaScript 是一门编程语言 可为网站添加交互功能 例如 游戏 动态样式 动画以及在按下按钮或收到表单数据时做出的响应等 本文介绍了 JavaScript 的精彩之处和主要用途 JavaScript 到底
  • Python中的列表和元组

    Python中的列表和元组 1 列表和元组 2 Python 中的列表和元组都支持负数索引 3 列表和元组都支持切片操作 4 列表和元组都可以随意嵌套 5 两者也可以通过 list 和 tuple 函数相互转换 6 列表和元组常用的内置函数
  • easyexcel和poi对比_POI 和 EasyExcel

    POI 和 easyExcel 讲解 转自狂神老师 仅作为个人笔记使用 一 POI 常用进程 1 将用户信息导出为excel表格 导出数据 2 将Excel表中的信息录入到网站数据库 习题上传 开发中经常会设计到excel的处理 如导出Ex
  • 五、深入理解JDK1.7中HashMap哈希冲突解决方案

    导读 前面文章一 深入理解 Java集合初篇 中我们对Java的集合体系进行一个简单的分析介绍 上两篇文章二 Jdk1 7和1 8中HashMap数据结构及源码分析 三 JDK1 7和1 8HashMap数据结构及源码分析 续 中我们分别对
  • Windows+VS2019用vcpkg编译colmap以及用Cmake编译colmap源码

    Windows VS2019用vcpkg编译colmap以及用Cmake编译colmap源码 Window下官方建议用vcpkg安装 这里我已经安装好了VS2019以及cuda11 7 1 安装vcpkg git clone https g
  • cocos mac android,cocos2dx mac android.mk

    LOCAL PATH call my dir include CLEAR VARS call import add path LOCAL PATH cocos2d call import add path LOCAL PATH cocos2
  • 深度学习论文阅读列表

    deep learning paper read lists 同步更新与github https github com chenmeiya deep learning paper read lists Learning invariace
  • Qt Creator 3.5.1(Qt4.8.4库+MinGW4.4)下不能调试问题解决(Debugging has failed)

    Qt Creator 3 5 1 Qt4 8 4库 MinGW4 4 下使用minGW4 4默认的GDB调试会不成功 提示如下 Debugging starts Debugging has failed Debugging has fini
  • 轻量级AI语言模型,直接轻松运行在你家电脑上

    最近在研究AI语言模型和AI绘画模型 无意间发现了这个轻量级模型 只需要拿到这两个文件 AI exe gpt4all lora quantized bin 双击AI exe就能直接使用 方便快捷 简直不要太爽 上面工作准备好之后 win R
  • PCL常用小知识

    转自 SimpleTriangle 时间计算 pcl中计算程序运行时间有很多函数 其中利用控制台的时间计算是 首先必须包含头文件 include
  • makeinfo: command not found解决方法

    sudo apt get install texinfo
  • Codeforces Round #751 (Div. 2) D. Frog Traveler(BFS)

    题解 因为我们最多把所有的点跳一遍么 所以直接BFS模拟一下就行了 注意现在跳的点不能是以前已经跳过的点 并且只能越跳越高 否则没有意义 这样就保证了时间复杂度是线性的 AC代码 include