PTA星际探险

从防御者视角复盘:用WinArpAttacker和Wireshark在Windows上模拟并检测ARP欺骗攻击 本文详细解析了Windows平台下的ARP欺骗攻击与防御策略,通过WinArpAttacker和Wireshark工具模拟攻击并检测异常流量。文章涵盖实验环境搭建、攻击原理深度解析、流量特征分析及企业级防御方案,帮助安全运维人员全面掌握ARP攻击检测与防护技术。 阅读详情

作者 周强

单位 青岛大学

在某个遥远的未来,新新人类将可能这样进行星际探险:宇宙中分布着若干个跳跃点,人类飞船在每个跳跃点可超光速跳至其它跳跃点。当然,一般来说每次跳跃是要消耗一定能量的,但因为有未知物质的影响,某些跳跃反而可以获得一定能量。

在所有跳跃点中,人类的原始家园——地球最具特殊性,这是唯一一个“不是任何跳跃的目的地”的跳跃点,换句话说,从地球可以跳到其它点,但是从任何其它点都不能跳到地球。

假设有一艘飞船从地球出发开始星际探险之旅,考虑到旅行成本,设定在到达目的地时能量的消耗上限,那么有一些跳跃点是飞船在这个能量消耗限制下能够抵达的,而有一些跳跃点是无法抵达的。现在请你编程找出所有能够抵达的跳跃点。

需要注意的几点:

  1. 一个能够抵达的跳跃点,是指飞船抵达这个点时,能量消耗在限制之内;所有能够抵达的点,指的是这类点的集合,而并不是指飞船某个单趟旅行一路上所经过的点。例如:飞船从地球出发,如果能量限制只够跳到比邻星或者天狼星这两个点之一,而无法在单趟旅行中先后抵达这两个点,但是“所有能够抵达的点”则包括这两个点,即从跳跃能力上看,这两个点均是“可以抵达”的。
  2. 某些跳跃可以让飞船增加能量,并且存在这种可能:从某个点开始,经过若干次跳跃,又回到这个点。但是能量规律决定了:回到这个点时,飞船的能量只可能比原先从这个点出发时低(否则将出现“永动机”)。
  3. 能量消耗上限,评判的是抵达目的地(某个跳跃点)时所消耗的能量,而不考虑中途点的能量状态。须知有的跳跃会增加能量,所以完全可能出现这种情况:跳到A点时,能量消耗超过限制,但从A点跳到B点恰好是增加能量,并且跳到B时,总的能量消耗不超过限制。此时认为A点不可抵达、B点可抵达。

输入格式:

首先在一行中给出正整数N(N<=2000),是宇宙中跳跃点的数量。

接下来N行,第i行(i=1..N)按以下格式描述编号为i的跳跃点的信息:

k p1 d1 p2 d2 ... pk dk (以空格间隔)

其中:整数k是从这个跳跃点出发,能跳到其它点的数量,之后的k对非零整数pi di,pi表示能跳到的某个点的编号,di表示飞船跳到pi点的能量变化,如果di为正表示这个跳跃会增加能量(增加di),di为负表示这个跳跃要消耗能量(消耗的值为|di|)。题目保证从地球到任何一个可以抵达的跳跃点,沿途消耗(或增加)的能量之和的绝对值不超过108。

最后一行给出正整数E,表示飞船出发时设置的能量消耗上限。

输出格式:

按照编号从小到大的顺序输出飞船所有能够抵达的跳跃点编号,每行输出一个编号(行末有换行符)。

提示:

  1. “地球”这个跳跃点总是被认为“可以抵达”的,并且抵达这个点不需要消耗能量(因为这是出发点)。
  2. 地球的编号不一定是1。

输入样例:

在这里给出一组输入。例如:

6
3 2 -3 4 -5 3 -6
1 6 -6
2 4 -2 5 -2
2 3 -3 6 -3
1 4 4
0
7

输出样例:

在这里给出相应的输出。例如:

1
2
3
4
6

题目大致意思:n个星球,然后给1~n个星球从它们出发能到星球的个数k,然后给k*2个数,前一个数为能到的星球,后一个数为燃料变化。燃料有可能增加,并且燃料消耗完飞船还能飞!

#吐槽:星际时代的人类到底点了什么黑科技,没燃料还能飞,燃料还能越飞越多?

地球(起点)是所有点无法到达的点(题目保证唯一)。

这一题主要是dijkstra算法,并且不用去约束燃料消耗完。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl "\n"
#define P pair<ll,ll>

const ll N = 2e3+7;
ll n,m,k,sum;
bool lian[N][N];
ll v[N][N],value[N];
bool vis[N];

priority_queue<P ,vector<P>,greater<P> >q;

void dj(){
	while(!q.empty()){
		ll x=q.top().second,y=q.top().first;
		q.pop();
		for(ll i = 1 ; i <= n ; i ++){
			if(lian[x][i] && value[x] + v[x][i] < value[i]){
				value[i] = value[x] + v[x][i];
				q.push({value[i],i});
			}
		}
	}
	return;
}

void solve(){
	cin >> n;
	ll x,y,c;
	memset(vis,1,sizeof vis);
	for(ll i = 1 ; i <= n ; i ++){
		cin >> m;
		for(ll j = 0 ; j < m ; j ++){
			cin >> x >> y;
			lian[i][x]=1;
			v[i][x]=-y;//取反,用来跑最短路 
			vis[x]=0;
		}
	}
	for(ll i = 1 ; i <= n ; i ++)//找地球 
		if(vis[i])c=i;
	cin >> k;
	memset(value,0x3f,sizeof value);
	q.push({0,c});
	value[c]=0;
	dj();
	for(ll i = 1 ; i <= n ; i ++)
		if(value[i] <= k)cout << i << endl;
	return ;
}

int main(){
	ll t=1;//cin >> t;
	while(t--)solve();
	return 0;
}

【DRAM存储器五十六】LPDDR5介绍--WCK2CK Leveling和Read gate training 简述LPDDR5 WCK2CK leveling和read gate traning基本原理与操作步骤 阅读详情

相关推荐

汽车电子电气架构演进:从分布式ECU到域集中与中央计算

汽车电子电气架构(EEA)是整车电子系统的顶层设计框架,定义了计算、通信、供电等核心要素的组织方式。其演进遵循从分布式到集中式的技术路径,旨在解决传统架构下ECU数量膨胀带来的成本、复杂度和协同难题。通过域控制器(DCU)整合功能域,以及向中央计算+区域控制架构发展,实现了硬件资源池化、软硬件解耦与高速通信。这一变革的核心技术价值在于提升算力利用率、简化线束布局、支持软件定义汽车(SDV)与持续OTA升级。在智能电动汽车时代,新架构为智能座舱、自动驾驶等复杂应用提供了可扩展的平台基础,推动了汽车产业从硬件导

weixin_30326741的博客 383

PTA 地下迷宫探索 (30 分)

7-13 地下迷宫探索 (30 分) 地道战是在抗日战争时期,在华北平原上抗日军民利用地道打击日本侵略者的作战方式。地道网是房连房、街连街、村连村的地下工事,如下图所示。 我们在回顾前辈们艰苦卓绝的战争生活的同时,真心钦佩他们的聪明才智。在现在和平发展的年代,对多数人来说,探索地下通道或许只是一种娱乐或者益智的游戏。本实验案例以探索地下通道迷宫作为内容。 假设有一个地下通道迷宫,它的通道都是直的,...

BobHuang的博客 1655

【毕业设计参考】基于yolov8+pyqt5自适应界面设计的锂电池表面缺陷检测系统

基于YOLOv8+PyQt5的锂电池表面缺陷检测系统结合了先进的目标检测技术与友好的用户界面设计,为锂电池质量检测提供了一种高效、准确的解决方案。未来,随着深度学习技术的不断发展,我们可以进一步优化模型,提高检测精度和速度,同时拓展系统功能,如实现实时视频流检测、与生产系统的深度集成等,为锂电池产业的发展注入新的活力。希望本文对大家在相关领域的研究和实践有所帮助,欢迎大家在评论区交流讨论。

1182

PTA7-2 星际探险 负权的最短路径与SPFA算法

我们开着飞船从一个星球飞到另一个星球,我们想找到一条能量消耗最低的路线。 题目中,花费的能量用负数表示,而吸收的能量是正值。这可不好办,因为我们隐隐感觉这是一道最短路径的问题,但是消耗都是负数该怎么办? 那就在输入的时候取反吧,这样消耗成了一个正数,而我们要做的就是使得一条路径消耗加起来最小,就可以套用最短路径算法了。特别注意题目中的“不为永动机”这个细节条件,这就可以理解成不会出现“负回路", 因为经过取反后,如果我们走了一圈消耗的能量为(-x),那么就相当于得到了(x)的能量,就造出了永动机。.

研究邪术! 560

C#实战:如何用Chart控件打造专业级数据可视化报表(附完整代码)

本文详细介绍了如何使用C#的Chart控件创建专业级数据可视化报表,涵盖柱状图、饼图和雷达图等多种图表类型的高级定制与交互增强。通过完整的代码示例,展示了从环境配置到动态数据绑定的全流程,助力开发者提升企业级应用的数据可视化能力。

ipfs8storage的博客 420

临床预测模型R语言全流程实战:从建模到Bootstrap验证的完整代码

临床预测模型是利用患者特征预测疾病结局发生概率的重要统计工具,其核心在于通过Logistic回归或Cox比例风险模型建立风险函数,并借助ROC曲线、校准曲线等指标评估模型的区分度与校准度。Bootstrap内部验证和DCA决策曲线分析则是当前审稿人关注的焦点,前者用于校正过拟合带来的乐观估计,后者用以判断模型在临床决策中的实际净获益。在肿瘤预后、慢病风险评估等场景中,基于R语言的模型构建与列线图可视化已成为论文发表的关键环节。本文以survival包自带肺癌数据为例,系统展示从数据预处理、变量筛选到多因素建

weixin_33483304的博客 241

PTA 星际探险 (25分)(Dijkstra改约束条件)

7-15 星际探险 (25分) 在某个遥远的未来,新新人类将可能这样进行星际探险:宇宙中分布着若干个跳跃点,人类飞船在每个跳跃点可超光速跳至其它跳跃点。当然,一般来说每次跳跃是要消耗一定能量的,但因为有未知物质的影响,某些跳跃反而可以获得一定能量。 在所有跳跃点中,人类的原始家园——地球最具特殊性,这是唯一一个“不是任何跳跃的目的地”的跳跃点,换句话说,从地球可以跳到其它点,但是从任何其它点都不能跳到地球。 假设有一艘飞船从地球出发开始星际探险之旅,考虑到旅行成本,设定在到达目的地时能量的消耗上限,那么有一

不导翁的博客 1035

MTK 平台功耗优化策略全解析:Clock 管控、GPU 同步与 Preview 降帧实战方案

在中高端移动终端影像系统中,Camera 模块已成为功耗的关键来源之一,尤其是在高帧率拍摄、AI 模式实时预览等场景下,ISP、Sensor、GPU 与 SoC 时钟频率的大幅提升极易引发系统发热与续航瓶颈。MTK 平台基于多级功耗控制机制,构建了包括 Clock Gate 管理、GPU 时序协同、预览流降帧、Pipeline 低功耗切换等在内的影像功耗优化策略。本文聚焦于 MTK Camera 系统中的核心功耗控制点,基于实际项目部署案例,系统拆解其在不同模式下的节能路径设计与调试方法,为终端厂商与影像系

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2524

【PTA团队天梯赛】L2 7-98 海盗分赃 (25分)

这个题我刚开始做的时候感觉虽然题目描述不多,但是我却一直没有get到题目的意思。后来看了一下网上的题解,感觉这个题真的是太巧妙了!所以记录一下。 思路: 首先我们要理解这三个原则。每个海盗都想尽可能获得最多的钻石,但是前提是要活着,比如说你拿走了全部钻石,那别人肯定不同意就会把你杀死。所以你分配钻石的情况下还要争取得到一半的人的投票。 其次,如果有两个海盗的时候你能拿到两个钻石,而现在多了一个海...

qq_44622401的博客 1093

在 SAP HANA 与 HANA Cloud 中,用 SQL DDL 创建数据库视图:从设计时工件到运行时对象的全链路实践

本文介绍了在SAP HANA中通过HDI容器使用DDL定义视图的方法。主要内容包括:1)采用.hdbview设计时工件存储视图定义,构建时自动转换为运行时视图,实现版本控制和权限隔离;2)开发前需准备HDI容器、MTA项目及配置.hdiconfig文件;3)详细说明.hdbview语法结构,重点讲解WITH READ ONLY和WITH STRUCTURED PRIVILEGE CHECK的使用场景;4)提供了从创建文件到构建验证的完整流程示例;5)强调跨容器访问时需通过.hdbgrants为#OO用户授予

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 273

24届数字IC设计/验证秋招总结贴——先看这个

为方便快速进行查找该专栏的内容,将所有内容链接均放在此篇博客中整理不易,欢迎订阅~~

qq_42135020的博客 8411

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 236

手把手教你学Simulink--双足机器人的自动避障控制策略仿真

自动避障是双足机器人导航系统中的一个关键功能,它允许机器人在动态或静态环境中自主地避开障碍物。实现这一功能通常需要结合路径规划、环境感知和实时控制算法。在本教程中,我们将使用MATLAB和Simulink来创建一个简化版的双足机器人自动避障控制系统仿真。

MHD0815的博客 160

选型笔记:Type‑C 扩展坞方案评估|DP1.4 转 HDMI2.0 桥接芯片 GSV2201S@ACP

本文记录 GSV2201S 这款 DP1.4a 转 HDMI2.0 桥接芯片评估,梳理视频、HDCP、PD 集成能力,总结 Type‑C 转接 Dongle、扩展坞方案的适配边界,以及差分走线、PD 时序、HDCP 握手等高频调试问题,为 C 口视频转接方案选型提供参考。

ACP广源盛的博客 220

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C++移动构造函数详解

移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。

拒绝AI文,努力在AI时代写出感动人心的好文章 389

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL

Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。

Maxwell_Newton的博客 334

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

C++ 多态详解:作用、原理与实战用法

多态是C++面向对象的核心特性,通过虚函数实现运行期动态绑定,使同一接口在不同对象上表现出不同行为。其核心作用包括统一接口、提升可扩展性、降低耦合、支持运行时分派与批量处理。实现依赖虚函数表(vtable)和虚指针(vptr),需注意虚析构函数、对象切片等陷阱。相比编译期多态(模板),运行期多态灵活性高但有调用开销。合理结合两者,可兼顾代码的灵活性与性能,是构建可扩展、低耦合系统的关键。

2402_85743155的博客 377

【C语言】字符与字符串函数

C语言中字符串为以\0结尾的字符数组,标准库函数基于此约定。本文解析字符串内存布局,详解ctype.h与string.h中字符分类、长度计算、拷贝、比较等函数的使用要点,强调长度判断与越界风险,最后通过命令行待办事项示例整合fgets、sscanf、strncpy、strcmp,展示实际应用中的关键细节。

记录在学习过程中学到的知识 343

C++ 函数模版

模板参数:● template ,T 就是类型占位符,名字可以自定义,习惯用T● 占位符可以在函数返回值、形参、函数内部当作类型使用使用要点模板代码一般写在头文件:编译器需要看到完整模板源码,才能在每个编译单元完成实例化全局函数、类内成员函数都可以写成模板实例化发生在编译阶段,不是运行时隐式实例化:调用时编译器自动推导实参类型,生成对应版本函数。

2501_94041724的博客 303

C++ 运行时多态与虚函数机制全面剖析【面试重点】

构成C++ 运行时多态必须是基类的指针或者引用调用虚函数。被调用的函数必须是虚函数,并且派生类必须对该虚函数完成重写/覆盖(Override)。只有基类的指针或引用才能既指向基类对象,又指向派生类对象(切片机制);而只有完成了虚函数重写,派生类与基类才具备不同的函数行为,达到“指向谁就调用谁”的效果。在类成员函数的前面加上virtual关键字修饰,该成员函数就成为了虚函数。public:// 成员函数前加 virtual 修饰,声明为虚函数。

Fuyo_0209的博客 436

#SQLite 数据库笔记一:(概念 / 终端指令 / SQL 语句 / C 编程 / 回调函数)

数据库 = 数据的仓库,假设数据是海量。能力说明存储数据持久化保存,程序退出数据还在统计数据、分组、排序数据管理增、删、改、查(CRUD)嵌入式设备上也会用数据库(单片机网关、路由器、工业 HMI 都常见),因为 sqlite 体积小、无需服务进程、单文件即可。数据库 = 库 > 表 > 记录(行) > 字段(列)sqlite3 = 开源、C 写的、单文件、免安装、最多 2T 的嵌入式关系型数据库。

lwq20051110的博客 200

C 语言 malloc() 详解与实战 Demo

本文详解C语言malloc()函数,涵盖其语法、内存原理及实战应用。通过动态整数、数组、结构体与链表的Demo,演示如何安全申请、使用与释放内存,强调避免内存泄漏与空指针检查的重要性,帮助开发者掌握动态内存管理核心技能。

tangPHP的博客 366

【C++】【STL】string_OJ题

本文总结了9道C++ STL中关于string的OJ题目,按操作类型分为三组:反转与就地修改(如917、541、151)、计数与查找(如387、125、58)、模拟与大数运算(如415、43、8)。核心技巧包括双指针收敛、字符分类处理、进位控制及边界值处理。所有题目使用同一套源码,在标准库std::string与自定义容器MyString间切换仅需宏定义,验证结果一致性。代码通过随机测试用例与Trace函数逐行比对,确保逻辑正确性,强调接口对齐的重要性。

这里是Cocatrice的博客,感谢大家一直以来的支持和鼓励,如果对C/C++方向感兴趣的话,可以通过主页的微信名片加Cocatrice的好友,也可以通过邮箱:Chen31980094@163.com 联系,一同加油! 4370

【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针

C++类与对象知识(面向过程和面向对象的初步认识,类的初步认识,类的访问限定符及封装,类的作用域、实例化,类的对象模型,this指针)

2601_96587588的博客 876

【C++ 基础入门】C++继承(下):问题、底层原理与组合

C++继承(菱形继承的问题、虚继承原理、继承与组合、构造顺序)

2601_96587588的博客 769

C++09_vector类复习

本文以10个核心问题为主线,系统解析C++ vector的底层机制:从基本概念、初始化方式、遍历方法,到size与capacity的区别、扩容策略(VS 1.5×,g++ 2×)、reserve与resize差异、中间增删的挪动原理、迭代器失效原因,直至二维vector的内存布局(含三指针结构)。通过“先会用、再懂扩容、最后看清对象结构”的递进逻辑,揭示vector作为动态数组的本质——连续内存、自动扩容、随机访问高效,但插入删除代价高,迭代器易失效。全文深入浅出,助读者摆脱“黑盒”认知,真正掌握其内存图景

lemo_n_的博客 337
上一篇: PTA冰岛人
下一篇: D. Flowers Codeforces Round 271 (Div. 2)
翰墨织梦
博客等级 码龄4年 384粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值