破解石碑 (动态规划)

【100%通过率】华为机试真题 C++ 实现【考古学家】【考古问题】 考古问题,假设以前的石碑被打碎成了很多块,每块上面都有一个或若干个字符,请你写个程序来把之前石碑上文字可能的组合全部写出来,按升序进行排列。 阅读详情

破解石碑

【问题描述】
相传在上古时期留下了许多块神秘的石碑,石碑的正面按顺序刻上 N 个数字,并且每个数字的下方都有一个字号较小的数相对应。研究人员把上面的数字称为 A 列,下面的数字称为 B 列。
在查阅古书后人们得知,每块石碑其实都是一把锁。如果人们在石碑上按合适的方法对数字进行操作,就会获得巨大的能量。操作的规则如下:
若 Ai 和 Ai + 1 不互质,我们可以在原石碑中抹去第 i 和第 i + 1 个数(包括A 中和 B 中),然后将两个序列重新按顺序编号。
假如最终 B 列中被抹去的数的和达到可能的最大值,这把巨锁就解开了。
由于对石碑上数字的抹去是不可逆的,为了不浪费每块石碑,我们必须事先计算出每块石碑的操作方案并获得 B 列被删去的可能最大和。

【输入】
第 1 行一个整数 N;
第 2 行 N 个整数,依次表示 Ai;
第 3 行 N 个整数,依次表示 Bi。

【输出】
仅含一个整数,表示 B 列被删去的可能最大和。

【输入输出样例】
stele.in
6
9 8 6 5 6 3
11 19 12 17 18 15
stele.out
64

【数据范围】
对于 30%的数据,N ≤ 20;
对于 60%的数据,N ≤ 100;
对于 80%的数据,N ≤ 500
对于 100%的数据,N ≤ 800, 1 ≤ Ai, Bi ≤ 10^9

用g数组记录i,j两个点能否在一起(i,j之间的数字都被抹去),用f数组记录从i到j得到的最大答案。

program mys;
var t,h,i,j,k,m,n:longint;
g:array[0..900,0..900]of longint;
f:array[0..900,0..900]of int64;
a,b:array[0..1000]of longint;
sum:array[0..1000]of int64;

function gcd(a,b:longint):longint;
begin
if a mod b=0 then exit(b)
else exit(gcd(b,a mod b));
end;

begin 
assign(input,'stele.in');reset(input);
assign(output,'stele.out');rewrite(output);
readln(n);
read(a[1]);
for i:=2 to n do 
begin 
read(a[i]);
if gcd(a[i],a[i-1])>1 then g[i-1,i]:=1;
end;

for i:=1 to n do 
begin 
read(b[i]);
sum[i]:=sum[i-1]+b[i];
end;
for i:=1 to n do 
if g[i-1,i]=1 then 
f[i-1,i]:=b[i-1]+b[i];
for i:=n downto 1 do 
for j:=i+1 to n do 
for k:=i+1 to j-1 do 
if (i<>j)and(i<>k)and(j<>k) then 
if ((g[i,k]=1) and (g[k+1,j]=1))or ((g[i+1,j-1]=1) and (gcd(a[i],a[j])>1)) then 
begin
g[i,j]:=1;
f[i,j]:=sum[j]-sum[i-1];
end;
for i:=n downto 1 do 
for j:=i+1 to n do 
for k:=i  to j do 
if f[i,j]<f[i,k]+f[k+1,j] then f[i,j]:=f[i,k]+f[k+1,j];
writeln(f[1,n]);
close(input);
close(output);
end.
YOLO26轻量化科研实践:PartialConv驱动CSPCPC模块,让模型参数量直降1000W且精度不减 在目录下,新建AddModules文件夹,将cspcpc.py放入其中。 阅读详情

相关推荐

安装cartographer,跑官网数据集

今天开始写一个关于google cartographer系列文章。此类文章网上已经很多,本系列文章主要记录重点部分及容易踩坑地方。 cartographer是一个完整的激光SLAM开源项目,属于graph slam,包含了完整的前端里程计和后端地图优化,既能够同时定位建图,又能够基于先验地图进行独立全局定位。 值得 目录 一、推荐首选看官网资料,已经很详细了 二、安装 三、源码文件架构 四、跑数据集 1、建图 2、基于先验地图的全局定位 一、推荐首选看官网资料,已经很详细了 原生版:

qq_18276949的博客 6144

动态规划(C++)

动态规划讲解

DCMyyds的博客 784

Revit Dynamo实战:用Excel数据批量生成桥梁模型(附自适应族技巧)

本文详细介绍了如何利用Revit Dynamo结合Excel数据实现桥梁参数化建模,重点讲解了数据驱动建模、自适应族优化及大型项目性能管理三大核心技巧。通过结构化Excel数据、高级自适应族创建和分块处理策略,显著提升桥梁建模效率与设计变更响应能力。

weixin_42520025的博客 386

HW OD笔试三个算法题(提前一小时满分通过)

由于笔试时需要退出其他软件录制屏幕开启摄像头,因此原题只根据回忆写出 第一题 M个数求最大的N个数和最小的N个数的和 题目 在提供的M个数里找最大的N个和最小的N个的和,需要自己去重,最大数集合和最小数集合有重合的则返回-1 输入 第一行是数组元素个数M,第二行是数组里的数字,每个数字用空格隔开,第三个数字是N 输入 6 2 3 1 5 12 7 2 输出 22 最大的2个数是 12 7,最小的两个数是1 2,则输出 12+7+1+2=22 输入 4 1 7 1 2 2 2 输出 -1 最大的2个.

HumorChen的博客 7843

关于StartAI本地部署相关问题解答

很多小伙伴们都有接入自己本地SD的需求,对此小编整理了一些相关问题~

HDJ9387的博客 940

【电力系统】高压直流输电VSC-HVDC,四个变流站联合输电 / 交直流混合并网系统

本文研究了一种基于电压源型换流器(VSC)的高压直流输电(HVDC)系统,该系统通过四个变流站实现联合输电并接入交直流混合电网。文章介绍了系统的结构、工作原理以及控制策略,分析了交直流混合并网的特性,并通过仿真验证了系统的性能。结果表明,该系统具有良好的稳定性和灵活性,能够有效实现多点供电和功率协调。

2401_84610415的博客 2239

【华为OD机试真题 Python】考古问题

考古问题,假设以前的石碑被打碎成了很多块,每块上面都有一个或若干个字符,请你写个程序来把之前石碑上文字可能的组合全部写出来,按升序进行排列。输入输出示例仅供调试,后台判题数据一般不包含示例。输入输出示例仅供调试,后台判题数据一般不包含示例。

bpsg666的博客 493

Proxmox(pve)集群(4)存储(1)配置分布式存储ceph

它使用一种称为CRUSH(Controlled Replication Under Scalable Hashing)算法的数据分布算法来将数据均匀地分布在多个存储节点上,并确保数据的冗余和容错。它负责管理数据的分布、冗余和自动修复。PVE支持本地存储、LVM、NFS、iSCSI、CephFS、RBD、ZFS等存储方式,我这里使用两种存储方式,一种是通过ceph实现分布式存储,一种是通过truenas实现集中式存储。自我管理和自动恢复:Ceph具有自我管理的特性,可以动态地调整和优化存储集群的配置。

Monster✺◟(∗❛ัᴗ❛ั∗)◞✺的博客 2623

华为机试:考古问题

华为机试:考古问题,回溯算法

小朱小朱绝不认输的博客 2897

2026年AI视频生成大模型全景指南:国内外主流工具深度对比与选型建议

AI视频生成技术在2025年至2026年间取得了突破性进展,从"能用"进化到"好用",商业化应用加速落地。中美双轨竞争格局基本成型,国内模型在技术追赶和本土化体验方面展现出强劲竞争力。对于用户而言,选择合适的AI视频生成工具需要综合考虑技术性能、使用门槛、成本预算和具体需求。零基础新手推荐海艺AI、通义万相等低门槛工具;进阶创作者可根据需求选择可灵AI、即梦AI、海艺AI等;专业开发者和企业用户可考虑智谱清影的开源能力或可灵AI的商业化服务。

nmdbbzcl的博客 2839

【WRF数据准备】土地利用类型分类标准:USGS+MODIS IGBP 21

【WRF数据准备】土地利用类型分类标准:USGS+MODIS IGBP 21

WW、forever的博客 4474

破解石碑(区间动规)

破解石碑 (stele.cpp/c/pas) 【问题描述】 相传在上古时期留下了许多块神秘的石碑,石碑的正面按顺序刻上 N 个数 字,并且每个数字的下方都有一个字号较小的数相对应。研究人员把上面的数 字称为 A 列,下面的数字称为 B 列。 在查阅古书后人们得知,每块石碑其实都是一把锁。如果人们在石碑上按 合适的方法对数字进行操作,就会获得巨大的能量。操作的...

weixin_30919919的博客 202

工业级4~20mA转0~3V信号调理电路原理图设计,已量产(电流传感器)

在工业现场,4~20mA 电流信号是模拟量传输的 “老熟人”—— 抗干扰强、能跑长距离,但嵌入式 MCU 的 ADC 一般只认电压信号。最近做项目时,我设计了一款能覆盖 0~25mA(含超量程冗余)、线性输出 0~3V 的调理电路,经过现场调试挺稳定,分享下细节。

不脱发的程序猿 525

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(60)五火七禽扇灭火 - 接雨水(双指针与动态规划)

在这篇文章中,我们跟随小哪吒学习了如何使用双指针与动态规划解决接雨水的问题。通过暴力解法的尝试,哪吒意识到逐个位置计算虽然直观,但效率低下。在太乙真人的指引下,他领悟了双指针与动态规划的精髓,通过维护左右指针和最大高度,优化了计算过程,大大减少了灵力消耗。我们还详细介绍了C++中数组遍历和最大值查找的基本方法。通过这次修炼,哪吒不仅提升了算法能力,还对双指针与动态规划的应用有了更深刻的理解。

轻口味的专栏 1204

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(45)血海轮回阵 - Floyd-Warshall 多源最短路径

在这篇文章中,我们跟随小哪吒学习了如何使用Floyd-Warshall算法解决多源最短路径的问题。通过暴力解法的尝试,哪吒意识到多次运行Dijkstra算法虽然可行,但效率低下。在太乙真人的指引下,他领悟了动态规划的精髓,通过引入中间节点,优化路径计算,大大减少了灵力消耗。我们还详细介绍了C++中三维循环和动态规划的基本方法。通过这次修炼,哪吒不仅提升了算法能力,还对动态规划的应用有了更深刻的理解。

轻口味的专栏 1792

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(34)混元金斗装万物 - 0-1背包问题(二维DP)

在这篇文章中,我们跟随小哪吒学习了如何使用二维动态规划解决0-1背包问题。通过暴力解法的尝试,哪吒意识到枚举所有可能的物品组合虽然直观,但时间复杂度极高。在太乙真人的指引下,他领悟了二维动态规划的精髓,通过记录前i个物品在容量为j时的最大价值,大大减少了灵力消耗。我们还详细介绍了C++中二维数组和动态规划的基本方法。通过这次修炼,哪吒不仅提升了算法能力,还对动态规划的应用有了更深刻的理解。

轻口味的专栏 2118

Devexpress16.2.6破解工具

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

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(39)玲珑棋局摆硬币 - 零钱兑换(完全背包)

在这篇文章中,我们跟随小哪吒学习了如何使用完全背包的动态规划方法解决零钱兑换问题。通过暴力解法的尝试,哪吒意识到递归枚举所有可能的组合虽然直观,但效率低下。在太乙真人的指引下,他领悟了完全背包的精髓,通过动态规划数组记录每个金额的最少硬币数,大大减少了灵力消耗。我们还详细介绍了C++中动态规划数组的使用方法。通过这次修炼,哪吒不仅提升了算法能力,还对完全背包问题有了更深刻的理解。

轻口味的专栏 1416

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(33)玲珑宝塔藏珍宝 - 打家劫舍(空间压缩)

在这篇文章中,我们跟随小哪吒学习了如何使用动态规划和空间压缩解决打家劫舍的问题。通过暴力解法的尝试,哪吒意识到使用完整的动态规划数组虽然可行,但空间复杂度较高。在太乙真人的指引下,他领悟了空间压缩的精髓,通过维护两个变量来代替整个数组,大大减少了灵力消耗。我们还详细介绍了C++中动态规划的基本方法。通过这次修炼,哪吒不仅提升了算法能力,还对动态规划的空间优化有了更深刻的理解。

轻口味的专栏 1732

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(31)诛仙剑阵初现 - 爬楼梯(状态转移)

在这篇文章中,我们跟随小哪吒学习了如何使用动态规划解决爬楼梯的问题。通过暴力解法的尝试,哪吒意识到逐级尝试虽然简单,但效率低下。在太乙真人的指引下,他领悟了状态转移的精髓,通过动态规划的状态转移方程,大大减少了灵力消耗。我们还详细介绍了C++中动态规划的基本方法。通过这次修炼,哪吒不仅提升了算法能力,还对动态规划的应用有了更深刻的理解。

轻口味的专栏 1132

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(36)太极图化路径 - 不同路径(组合数学优化)

在这篇文章中,我们跟随小哪吒学习了如何使用组合数学优化计算不同路径数的问题。通过暴力解法的尝试,哪吒意识到逐个格子遍历虽然直观,但效率低下。在太乙真人的指引下,他领悟了组合数学的精髓,通过计算组合数直接得到路径数,大大减少了灵力消耗。我们还详细介绍了C++中递归和动态规划的基本方法。通过这次修炼,哪吒不仅提升了算法能力,还对组合数学的应用有了更深刻的理解。

轻口味的专栏 1367

书札《数学之美》(在读)

文章目录第1章 文字和语言 vs 数字和信息第2章 自然语言处理——从规则到统计 第1章 文字和语言 vs 数字和信息 主要讲述了文字、数字和语言的历史。 语言和数字的出现都是为了传递信息(通信)。 语言的数学本质:每一门语言都是一种编码规则,而语言的语法规则则是解编码的算法。 每次我们想表达一句话,都先在头脑中使用某种编码规则编码一次。而对方听到后,在脑中解码,才能听懂对方想要表达的意思。 ...

My Blogs 9107

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(32)万剑归宗破妖阵 - 最长递增子序列(LIS)

在这篇文章中,我们跟随小哪吒学习了如何使用动态规划和二分优化解决最长递增子序列的问题。通过暴力解法的尝试,哪吒意识到逐个元素比较虽然简单,但效率低下。在太乙真人的指引下,他领悟了二分优化的精髓,通过维护一个数组tails,记录不同长度递增子序列的最小末尾元素,大大减少了灵力消耗。我们还详细介绍了C++中动态规划和二分查找的基本方法。通过这次修炼,哪吒不仅提升了算法能力,还对动态规划和二分优化的应用有了更深刻的理解。

轻口味的专栏 1393

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(40)翻天印压回文串 - 最长回文子序列(区间DP)

在这篇文章中,我们跟随小哪吒学习了如何使用区间动态规划解决最长回文子序列的问题。通过暴力解法的尝试,哪吒意识到逐个字符比较虽然直观,但效率低下。在太乙真人的指引下,他领悟了区间动态规划的精髓,通过从短区间向长区间逐步计算,大大减少了灵力消耗。我们还详细介绍了C++中二维数组和动态规划的基本方法。通过这次修炼,哪吒不仅提升了算法能力,还对区间动态规划的应用有了更深刻的理解。

轻口味的专栏 1522

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(37)诛仙四剑破子串 - 最长公共子序列(LCS)

在这篇文章中,我们跟随小哪吒学习了如何使用动态规划解决最长公共子序列的问题。通过暴力解法的尝试,哪吒意识到逐个字符比较虽然直观,但效率低下。在太乙真人的指引下,他领悟了动态规划的精髓,通过记录子问题的解,避免重复计算,大大减少了灵力消耗。我们还详细介绍了C++中动态规划的基本方法。通过这次修炼,哪吒不仅提升了算法能力,还对动态规划的应用有了更深刻的理解。

轻口味的专栏 753

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(38)九曲黄河困最大 - 最大子数组和(贪心与DP)

在这篇文章中,我们跟随小哪吒学习了如何使用贪心算法和动态规划解决最大子数组和的问题。通过暴力解法的尝试,哪吒意识到逐个元素遍历虽然直观,但效率低下。在太乙真人的指引下,他领悟了贪心算法的精髓,通过维护当前和和最大和,避免重复计算,大大减少了灵力消耗。我们还详细介绍了C++中数组遍历和累积和的基本方法。通过这次修炼,哪吒不仅提升了算法能力,还对贪心算法和动态规划的应用有了更深刻的理解。

轻口味的专栏 774

HUAWEI 机试题 :考古学家

HUAWEI 机试题

Muse_God的博客 1516
上一篇: 数数 (数学)(快速幂+同余定理)
下一篇: WikiOI 3269 混合背包 (动规+多重背包优化)
CodeOnce
博客等级 码龄10年 3粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值