noip 虫食算

【高斯消元】[NOIP2004]虫食算(这是正解) 题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: +43a9865a045008468a663344445506978\begin{matrix}&43a9865a045\\+&008468a6633\\\hline&44445506978\end{matrix}其中a代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行 阅读详情

 

题目描述

  所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子:
     43#9865#045
  +   8468#6633
  = 44445506678
  其中#号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是5和3,第二行的数字是5。
  现在,我们对问题做两个限制:
  首先,我们只考虑加法的虫食算。这里的加法是N进制加法,算式中三个数都有N位,允许有前导的0。
  其次,虫子把所有的数都啃光了,我们只知道哪些数字是相同的,我们将相同的数字用相同的字母表示,不同的数字用不同的字母表示。如果这个算式是N进制的,我们就取英文字母表午的前N个大写字母来表示这个算式中的0到N-1这N个不同的数字:但是这N个字母并不一定顺序地代表0到N-1)。输入数据保证N个字母分别至少出现一次。
   BADC
+ CRDA
= DCCC
  上面的算式是一个4进制的算式。很显然,我们只要让ABCD分别代表0123,便可以让这个式子成立了。你的任务是,对于给定的N进制加法算式,求出N个不同的字母分别代表的数字,使得该加法算式成立。输入数据保证有且仅有一组解

输入格式

输入包含4行。第一行有一个正整数N(N<=26),后面的3行每行有一个由大写字母组成的字符串,分别代表两个加数以及和。这3个字符串左右两端都没有空格,从高位到低位,并且恰好有N位。

输出格式

输出包含一行。在这一行中,应当包含唯一的那组解。解是这样表示的:输出N个数字,分别表示A,B,C……所代表的数字,相邻的两个数字用一个空格隔开,不能有多余的空格。

 

 

样例: in:

 

 

5

ABCED

BDACE

EBBAA

 

 

out:

 

 

1 0 3 4 2

 

 

 

----------------------------------------------解题报告-------------------------------------------------------

 

搞了半天,终于在老妈叫吃饭的时候华丽地AC了。老妈庇佑!

 

我的算法效率不高,但是勉强能够AC

 

用回溯法加上剪枝,重点是剪枝,否者超时没有商量。

 

当一列的字母的值都确定的时候,可以得到 ( A + B ) % n == C 或者 ( A + B + 1 )  % n == C

 

以样例也例

 

个位: ( D + E ) % n == A才行

 

上面不明确是否加1是因为不知道是否有进位,从个位开始处理,如果个位列都确定了,那么十位列的进位也就确定了

 

所以我们从个位列开始,可以确定某些列的进位,最后所有列的进位都能确定

 

还有就是搜索的顺序。

 

看样例,我们从个位列开始处理。

 

如果我从A开始枚举,那么剪枝的效率很低,所以预处理排了一下处理顺序,从低位到高位(An,Bn,Cn,An-1,Bn-1,Cn-1......A1B1C1)

 

凭着上面的两个剪枝,勉强AC了。

 

 

NOIP2004虫食算 NOIP2004提高组 虫食算 题目描述 Description  所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子:        43#9865#045     +    8468#6633        44445506978     其中#号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一 阅读详情

相关推荐

NOIP2004 虫食算 题解

NOIP2004 虫食算

NormalGod的博客 904

虫食算(搜索)

题目:给定一个数n,下面是三行,每行一串字符,每个字符串有n个字符。如:5ABCED BDACE EBBAAABCDE都是相同的数,ABCED+BDACE=EBBAA,求它的A,B,C,D,E的数值。思路:可不可以一步一步枚举,A=1到10,B=1到10......是可以但是(忘给了一个条件n&lt;27)。。。。。。无语恶心吧我们也可以dfs一下,一步一步进行除,但是(n&lt;27)。。。。。...

qq_40669010的博客 680

[NOIP 2004] 虫食算 (深搜+剪枝)

题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: 43#9865#045 + 8468#6633 44445509678 其中 # 号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是 5 和 3,第二行的数字是 5。 现在,我们对问题做两个限制: 首先,我们只考虑加法的虫食算。这里的加法是 n 进制加法,算式中三个数都有 n 位,允许有前导的 0。 其次,虫子把所有的数都啃光了,我们只知道哪些数字是相同的

cqbz_luoyiran的博客 924

noip2004虫食算--搜索

链接:https://www.luogu.org/problemnew/show/P1092 首先这题标算据说是高斯消元,但标签已经是搜索了。。。身为蒟蒻当然只会打搜索。而我的搜索又打的很翔,从右到左dfs搜过来,暴枚这一列三个数的情况,然后进位。注意枚举从大到小枚,因为第一位(最左边)不会进位,所以从右到左时从大到小会更好,不然会被卡tle一个点。。。 // luogu-judger-en...

caoyang1123的博客 336

NOIP2004提高组第四题:虫食算

题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: 其中#号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是5和3,第二行的数字是5。 现在,我们对问题做两个限制: 首先,我们只考虑加法的虫食算。这里的加法是N进制加法,算式中三个数都有N位,允许有前导的0。 其次,虫子把所有的数都啃光了,我们只知道哪些数字是相同的,我们将相同的数字用相同的字母表示,不同的数字用不同的字母表示。如果这个算式是N进制的,我们就取英文

HybridCOW_HORSE的博客 596

[NOIP2004]虫食算 高斯消元

网上的题解各种坑 真是尴尬 搞了好久 现在弄懂了 给出样例 5 ABCED BDACE EBBAA 废话不多说 乱枚举肯定超时 作如下处理 设  D + E - A = d1 C + E - A = -d1 + d2 C + A - B = -d2 + d3 B + D - B = -d3 + d4 A + B - E = -d4 + d5 将上述表达式消元 得到下列式

shiyukun1998的专栏 1165

虫食算

这个题很6啊 字符串处理很恶心啊,在我调了两个晚自习之后终于a了 思路:枚举每一个数字代表哪一个字母,如果是30分,就是一个全排列啊,找出所有排列前情况,暴力判断是否过 而这样显然,26的阶乘会炸的很惨,所以我们就需要很多优化 1.如果一竖行的都算出来了,直接判断是否正确,就不用枚举下面的了 2.如果第一位的加起来大于等于n了,就要进位了,这是不符合题意的 3.按从后往前的的顺序搜,先枚

hychychyc 523

[NOIP2004]虫食算C++预处理剪枝

[NOIP2004]虫食算 总时间限制: 1000ms 内存限制: 65536kB 题目 描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: 43#98650#45 +   8468#6633 ---------------------------------     ...

XiangEZ的博客 1021

[NOIP2004 提高组] 虫食算(含代码)

所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的数字。8468#6633​​其中号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是5和3,第二行的数字是5。现在,我们对问题做两个限制:首先,我们只考虑加法的虫食算。这里的加法是n进制加法,算式中三个数都有n位,允许有前导的0。其次,虫子把所有的数都啃光了,我们只知道哪些数字是相同的,我们将相同的数字用相同的字母表示,不同的数字用不同的字母表示。如果这个算式是n。

华仔的博客 874

Synopsys PCIe IP Loopback功能深度解析与应用实践

本文深入解析了Synopsys PCIe IP的Loopback功能,包括本地数字环回和远程环回两种模式的应用实践。通过详细的寄存器配置步骤和实战案例,帮助开发者快速掌握PCIe芯片验证与调试技术,提升系统开发效率。特别适合PCIe协议相关的硬件工程师和验证工程师参考。

weixin_29198045的博客 530

ESP32对接百度智能云语音识别:从硬件配置到API调用的完整指南

本文详细介绍了ESP32对接百度智能云语音识别的完整流程,从硬件配置到API调用,涵盖麦克风选择、音频处理、错误处理及性能优化等关键环节。通过实战案例展示如何实现低成本、高效率的语音交互方案,特别适合智能硬件开发者参考。

weixin_29198045的博客 372

【搜索】[NOIP2004]虫食算

题目 从各位开始按照字母出现的顺序枚举每个字母代表的值; 剪枝:1.搜索时每个数值只能由一个字母代表 2.搜索中如果发现有矛盾就回溯#include<cstdio> #define MAXN 26 #include<cstdlib> #include<cstring> int a[MAXN+10],n,e[MAXN+10]; char x[MAXN+10],y[MAXN+10]

LiuJunhao's Blog 1510

python音频信号分析

声音以具有诸如频率、带宽、分贝等参数的音频信号的形式表示,典型的音频信号可以表示为幅度和时间的函数

MAY的博客 2785

暴搜 [NOIP2004] 虫食算

问题 E: [Noip2004]虫食算 时间限制: 1 Sec 内存限制: 128 MB 题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: 43#98650#45 + 8468#6633 44445506978 其中#号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是5和3,第二行的数字是

蒟蒻QTY 587

ICCV 2025 | 哈工大、清华等提出首个双曲学习框架:HLFormer,革新局部相关视频检索

离原点越远,代表的语义越具体(部分)。现有方法大多在传统的欧几里得空间中对视频和文本进行建模,但这往往会导致对视频内在层次结构的错误表示,从而影响检索的准确性。通过UMAP对学习到的帧嵌入进行可视化(如下图),可以观察到,来自同一时刻的视频帧在嵌入空间中聚集在一起,清晰地展示了模型对时序关系的捕捉能力。下图的双曲空间可视化进一步证实了模型的层次建模能力:离原点越近的点,代表的语义层级越高、粒度越粗糙,反之亦然。:既然文本查询描述的是视频的一部分,那么在几何表示上,文本的嵌入向量应该从属于视频的嵌入向量。

我爱计算机视觉 1076

YDOOK: ANSYS Maxwell 19 教程7:Maxwell 2D 材料管理 添加新增 永磁材料

使用ANSYS Maxwell 19 添加新增 永磁材料 1. 点击 Add material 按钮后,在左下方的下拉框中下拉选择永磁材料,弹出用材料设置框: 2. 按照下面数据输入 3. 输入 Hc 与 Br/Ap 两项后,其他项的数据将自动计算给出 4. 点击OK后再,为了使得材料属性的完整性,在 Bulk Conductivity 属性行中输入 材料电导率的数值。 ...

YDOOK 1万+

洛谷P1092 [NOIP 2004 提高组] 虫食算

其次,虫子把所有的数都啃光了,我们只知道哪些数字是相同的,我们将相同的数字用相同的字母表示,不同的数字用不同的字母表示。所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的数字。看到这个题目的第一眼就想到直接暴力枚举每一个字母所对应的数字,时间复杂度不高,也就。个不同的字母分别代表的数字,使得该加法算式成立。第二到第四行,每行有一个由大写字母组成的字符串,分别代表两个加数以及和。函数没打了,思考我们已知部分的字母所对应的数字,该如何尽可能排除错误呢?),判断是否满足即可。

yjfyjfyjf54188的博客 771

SAP MM新手避坑指南:工厂间调拨用301还是303?手把手教你选对移动类型

本文深入解析SAP MM模块中工厂间调拨的301与303移动类型,帮助新手避开常见陷阱。通过对比一步法(301)和两步法(303+305)的核心差异、适用场景及财务影响,提供清晰的决策框架和实战技巧,确保库存调拨的准确性和效率。

weixin_29223603的博客 345

NOIP2004提高组.虫食算

因为数据范围很小并且有解, 是一个暴搜问题, 但是直接枚举一定会超时, 时间复杂度是。因此需要进行剪枝优化, 可以在搜索过程中每枚举一个字母看是否有矛盾。如果右侧所有数字都已经确定, 那么进位。

Ayanami_Rei的博客 660

apt-get update时出现GPG error:... bionic InRelease:The following signatures were invalid: EXPKEYS解决方案

本文主要介绍了apt-get update时出现W: GPG error: … bionic InRelease: The following signatures were invalid: EXPKEYSIG B7B3B788A8D3785C MySQL Release Engineering E: The repository ‘… bionic InRelease’ is not signed.解决方案,希望能对使用Ubuntu系统的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 11万+

【GlobalMapper精品教程】073:像素到点(Pixels-to-Points)从无人机图像轻松生成点云

Global Mapper v19引入的新的像素到点工具使用摄影测量原理,从重叠图像生成高密度点云、正射影像及三维模型。它使LiDAR模块成为已经功能很强大的的必备Global Mapper扩展功能。打开GlobalmapperV25.1中文版,点击【Lidar分析】→【像素到点云】,如下所示:V25之前的版本点击工具条上的【像素到点】工具:打开工具,可以【使用向导选】,或者选择【使用主窗口】,都很简单。

智慧空间实验室 1972

[NOIP2004]虫食算(深搜,预处理,剪枝)

[NOIP2004]虫食算 总时间限制: 1000ms 内存限制: 65536kB 描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: 43#98650#45 +   8468#6633 ———————————     44445506978 其中#号代表被虫子啃掉的数字。 根据算...

qq_42995099的博客 699

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

[NOIP2004]虫食算 - 高斯消元|搜索

1284: [NOIP2004]虫食算 时间限制: 1 Sec 内存限制: 64 MB 题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子:     43#9865#045 +     8468#6633 ———————————      44445506978 其中#号代表被虫子啃掉的数

yuanxinyu402的博客 500

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 差分约束系统 AND 最小表示法
下一篇: 连续邮资问题
code_beauty
博客等级 码龄16年 25粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值