自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 《安卓逆向这档事》demo5 ----正己大佬

本文介绍了一种绕过Android应用签名校验的方法。作者发现网上缺乏相关教程,转而通过jadx分析Java代码定位签名校验函数,使用NP管理器修改对应的smali代码。该方法直接修改判断逻辑,相比IO重定向等技术更为简单高效。文章还展示了具体操作步骤,包括修改smali判断逻辑的示例。作者认为这种基于hash逻辑分析并直接修改最终判断的方法简单实用,适用于各种签名校验场景。

2025-12-24 22:13:01 1107

原创 周志华《机器学习—西瓜书》八

集成学习通过组合多个学习器提升模型性能,核心原则是"好而不同":个体学习器需具备一定准确性且相互差异。主要方法包括序列化(如Boosting)和并行化(如Bagging)两类。Boosting通过调整样本权重逐步优化模型,而Bagging采用自助采样生成多个训练集并行训练。理论分析表明,个体学习器的准确性和多样性共同决定集成效果,但多样性度量仍存在局限。集成学习已成为机器学习竞赛和实际应用中的关键技术。

2025-12-21 23:45:23 425

原创 《安卓逆向这档事》demo4 ----正己大佬

摘要:本文详细介绍了Android逆向分析第四关的破解过程。首先通过修改AndroidManifest.xml文件开启调试模式,然后使用JEB工具分析APK代码,定位关键校验函数。通过设置断点、ADB调试和动态跟踪,最终获取到Base64编码后的正确密钥格式为"flag{*******}"。整个过程涉及smali代码分析、Java代码解析、动态调试技巧等逆向工程技术,展示了完整的密钥获取流程。

2025-12-19 22:13:42 505

原创 周志华《机器学习—西瓜书》七

摘要:本文介绍了贝叶斯理论在机器学习中的应用。贝叶斯决策论基于条件风险最小化,构建最优分类器。判别式模型直接建模后验概率,而生成式模型通过联合概率推导后验概率。贝叶斯定理将后验概率分解为先验概率、似然和证据因子。极大似然估计用于参数估计,而朴素贝叶斯分类器假设属性独立,简化联合概率计算。针对概率估计中的零概率问题,采用拉普拉斯修正进行平滑处理。这些方法为概率框架下的分类问题提供了理论基础和实用工具。

2025-12-17 22:58:54 859 1

原创 《安卓逆向这档事》demo3----正己大佬

本文介绍了三种去除Android应用广告的方法。首先通过Activity定位找到开屏广告Activity,将3000毫秒的等待时间改为0实现跳过;其次使用文字定位法搜索弹窗广告关键词,找到并注释show方法;最后借助算法助手工具,通过日志分析弹窗调用堆栈,定位并注释相关show方法。三种方法分别针对开屏广告、普通弹窗和更新弹窗,通过修改smali代码或结合工具分析,有效实现了去除各类广告的目标。

2025-12-15 22:54:54 1569

原创 周志华《机器学习—西瓜书》六

本文摘要: 《机器学习-西瓜书》第六章主要介绍神经网络模型。首先定义了神经网络是由适应性简单单元组成的并行互连网络,重点讨论了M-P神经元模型及其Sigmoid激活函数的优势。随后阐述了多层前馈网络的万有逼近能力,即通过足够多隐层神经元可逼近任意连续函数。针对过拟合问题,提出了早停和正则化两种缓解策略。最后回顾了神经网络的发展历史,从1940年代萌芽到2012年后深度学习兴起,呈现周期性发展规律,并特别介绍了CNN的发展历程。神经网络通过连接权和阈值蕴含知识,其强大表示能力使其成为机器学习重要分支。

2025-12-14 00:27:54 721

原创 《安卓逆向这档事》demo2----正己大佬

本文介绍了安卓逆向中修改APK判断逻辑的方法。首先通过MT管理器定位目标文本"一键三连"在classes.dex文件中的位置,然后分析相关代码逻辑。发现当p0==0时会跳转到会员充值提示,通过将if-eqz判断改为if-nez或直接注释该判断,即可绕过会员验证实现功能修改。整个过程展示了从文本定位到代码修改的完整逆向流程。

2025-12-13 00:19:20 380

原创 周志华《机器学习—西瓜书》五

本文介绍了支持向量机(SVM)的核心原理与求解方法。首先阐述了SVM的基本思想:在多个可能的分类超平面中,选择间隔最大化的"正中间"超平面以获得最佳泛化能力。通过数学推导,将最大化间隔问题转化为最小化||w||²的凸二次规划问题。重点讲解了SVM的对偶问题求解过程,包括拉格朗日乘子法的应用、KKT条件的推导,以及高效的SMO算法实现。SMO算法通过每次优化两个变量来高效求解大规模问题,最终得到稀疏的支持向量解。文章还详细说明了如何从对偶问题的解反推原始参数w和b,并强调了支持向量在确定决

2025-12-09 00:27:49 908

原创 周志华《机器学习—西瓜书》四

本文介绍了决策树的基本原理和关键算法。决策树通过树形结构进行决策,内部节点对应属性测试,叶节点对应预测结果。核心算法包括递归划分属性和三种停止条件。重点阐述了三种属性划分准则:信息增益(ID3算法)、增益率(C4.5算法)和基尼指数(CART算法),并通过西瓜分类案例演示了信息增益的计算过程。文章指出,相比划分准则的选择,剪枝操作对决策树泛化性能的影响更为显著,是防止过拟合的主要手段。不同划分准则对模型性能影响有限,而合理剪枝可显著提升带噪数据的泛化能力。

2025-12-07 00:45:28 672

原创 周志华《机器学习---西瓜书》三

本文介绍了机器学习中的线性回归模型及其扩展。主要内容包括:1)基本线性回归模型的形式、求解方法和离散属性处理;2)多元线性回归的矩阵表示和最小二乘求解;3)线性模型的变化形式,如对数线性回归;4)广义线性模型的一般形式;5)二分类任务中的对率回归模型,包括对数几率函数的引入及其优势。文章详细推导了各种回归模型的数学形式和解法,并比较了它们的特性与应用场景。

2025-12-06 00:32:38 861

原创 《安卓逆向这档事》demo1----正己大佬

本文介绍了修改安卓应用界面元素的具体步骤,主要包括文字汉化和图片替换两部分。文字汉化通过界面分析APP定位控件信息,使用MT管理器提取安装包并搜索目标字符串进行修改;图片替换则通过获取控件ID,在资源文件中定位对应图片路径后替换。操作过程详细展示了从分析、定位到修改、签名的完整流程,适用于安卓应用界面元素的定制化修改需求。

2025-11-29 23:55:16 811

原创 周志华《机器学习—西瓜书》二

《机器学习模型评估与性能度量方法》摘要 本文介绍了机器学习中的模型评估核心概念和方法。首先阐述了泛化误差与经验误差的区别,以及过拟合和欠拟合问题。重点讨论了三种主要评估方法:留出法(需保持数据分布一致)、k折交叉验证法(减少随机性)和自助法(改变数据分布)。在性能度量方面,详细讲解了错误率、精度、混淆矩阵、查准率(P)、查全率(R)及其综合指标F1度量(调和平均)和带权重的Fβ度量。最后指出模型比较需考虑统计显著性,介绍了交叉验证t检验和McNemar检验等方法。这些评估技术对确保模型泛化能力至关重要。

2025-11-28 23:52:52 502 4

原创 周志华《机器学习---西瓜书》 一

本文摘要: 《机器学习---西瓜书》第一部分介绍了机器学习的基础理论。主要内容包括:1)PAC理论,阐述模型预测结果与真实结果的误差概率关系;2)机器学习基础术语,详细解释了监督学习、无监督学习、训练数据、类别标记等核心概念;3)典型的机器学习过程;4)现实应用中强调定制化方案的重要性;5)归纳偏好原则,特别是奥卡姆剃刀原理,主张在性能相近时选择更简单的模型。文章通过图解和示例(如西瓜分类)帮助理解机器学习的基本框架和核心思想。

2025-11-27 23:38:09 776 2

原创 ElGamal、Schnorr及 DSA 签名算法对比分析

本文对比分析了ElGamal、Schnorr和DSA三种基于离散对数难题的数字签名方案。ElGamal签名直接使用大素数模运算,签名结果为(r,s)对;Schnorr通过哈希压缩消息,签名结果为(e,s)对,计算量较小;DSA引入双素数结构平衡安全与效率,签名同样为(r,s)对。三者均依赖离散对数难题,但Schnorr和DSA通过优化参数选择降低了计算复杂度。验证过程均需进行模幂运算,但具体实现方式存在差异。总体而言,Schnorr计算效率最高,DSA在安全性与效率间取得平衡,ElGamal则提供最基础的理

2025-11-24 00:01:59 1086

原创 不止 HTTP:应用层协议家族的 “成员图鉴“

应用层协议是网络体系结构中的顶层协议,直接为用户提供服务。常见的应用层协议包括HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等,它们定义了应用程序之间的通信规则和数据格式。这些协议建立在传输层协议之上,通过特定的端口号进行标识,实现各种网络应用功能。应用层协议的设计需要考虑效率、安全性和兼容性等因素,是互联网服务实现的关键技术基础。

2025-11-23 23:36:01 1079

原创 探索Windows DLL文件,发现隐藏的关键奥秘

文章摘要:kernel32.dll是Windows系统中的核心动态链接库文件,负责进程管理、内存分配等基础功能。该文分析了其关键作用与结构特点,并探讨了相关安全风险与防护措施。

2025-10-17 23:54:11 319

原创 DES 加密算法:核心组件、加解密流程与安全特性

DES对称加密算法摘要: DES是一种经典的64位分组加密算法,采用16轮Feistel网络结构。算法流程包括初始置换、16轮加密(每轮含扩展、异或、S盒替代、P盒置换)和末置换。DES存在4种弱密钥(加密=解密)和6对半弱密钥(相互加密可还原)。通过Python实现验证了DES加解密过程及弱密钥特性:弱密钥加密两次等于明文,半弱密钥对双重加密可还原原文。代码完整实现了密钥生成、Feistel函数、加解密流程及PKCS#7填充,并包含弱密钥测试案例。

2025-10-11 22:05:05 718

原创 《从零到精通:PyTorch (GPU 加速版) 完整安装指南

本文介绍了PyTorch(GPU加速版)的完整安装指南,帮助读者从零开始掌握安装流程。内容涵盖系统要求、CUDA驱动安装、PyTorch环境配置等关键步骤,特别针对GPU加速功能进行了详细说明。通过清晰的步骤指导和常见问题解答,使初学者能够顺利完成安装并验证GPU加速功能是否生效。

2025-09-22 22:57:25 2325

原创 揭秘互联网的隐形桥梁:HTTP协议与内外网划分全解析

超文本传输协议(HTTP)是互联网通信的核心桥梁,负责浏览器与服务器之间的信息交换,确保网页内容的高效与安全传输。它支撑着我们日常的网络活动,从浏览新闻到在线购物,无一不依赖HTTP的稳定运行。与此同时,内网与外网的划分是网络安全的重要基础。内网作为私有网络,保护着企业或家庭内部的敏感数据和设备免受外部威胁;外网则连接着全球互联网,提供广阔的信息交流平台。理解HTTP的工作机制及内外网的区别,有助于构建安全、高效的网络环境,提升网络管理和防护能力,为现代信息社会的稳定运行提供坚实保障。

2025-07-01 22:38:34 929

原创 洞察攻击轨迹,守护网络安全——隐马尔可夫模型识别XSS攻击

摘要:本文介绍了隐马尔可夫模型(HMM)及其在XSS攻击检测中的应用。HMM是一种时序概率模型,由隐藏状态序列和观测序列构成,包含初始概率、状态转移概率和观测概率三个关键参数。文章详细阐述了HMM的三个基本问题:概率计算(前向-后向算法)、参数估计(Baum-Welch算法)和解码问题(维特比算法)。在XSS检测场景中,通过训练正常请求数据构建HMM模型,计算新请求的生成概率来识别异常。由于直接处理HTTP请求复杂度高,需要先进行URL解码和特征简化。该方法利用HMM的序列建模能力,通过概率阈值判断潜在攻击

2025-05-30 03:30:00 938

原创 隐式马尔可夫模型:破解XSS攻击的隐秘密码

本文详细阐述了隐马尔可夫模型(HMM)中基于EM算法的参数估计过程。首先,定义了EM算法中的Q函数,即在旧参数条件下隐藏状态序列的后验分布对完整数据对数似然的期望。通过前向后向算法计算隐藏状态的后验概率,实现E步的“软分配”估计。随后,在M步中利用这些期望统计量对初始状态概率、状态转移概率和发射概率进行最大似然更新。文章还结合变分推断视角,说明EM算法保证对数边际似然单调不降的理论基础。最后,介绍了基于对数似然增益的收敛判定方法,确保算法在达到预设精度或最大迭代次数时停止。

2025-05-29 01:01:15 163

原创 《恶意软件代码共享挖掘:基于Jaccard和Dice相似度的特征分析与图形可视化》

恶意软件相似度分析是识别和比较恶意软件样本之间共享代码的过程,尤其适用于APT(高级持续性威胁)攻击,因为攻击组织通常会复用恶意软件代码。共享代码分析通过比较预编译源代码的相似性,帮助识别来自同一恶意软件家族或工具包的样本。与共享属性分析不同,共享代码分析关注代码本身而非外部属性。常用的相似度计算方法包括Jaccard系数和Dice系数,前者衡量两组特征的重叠程度,后者则通过交集与并集的比例计算相似度。分析流程包括逆向工程提取二进制代码、特征提取(如可打印字符串)、相似度计算及可视化(如CSV文件、SVG热

2025-05-19 00:02:43 872

原创 黑客密码:解锁互联网提问的智慧密码

如果你还是找不到任何对你的问题有用的内容,请把你的问题发在与它最相关的网站上。本地的用户群组(user group),或者你所用的 Linux 发行版本也许正在宣传他们的网页论坛或 IRC 频道,并提供新手帮助(在一些非英语国家,新手论坛很可能还是邮件列表),这些都是开始提问的好地方,特别是当你觉得遇到的也许只是相对简单或者很普通的问题时。好问题是激励,是厚礼。在网页论坛上,好的提问方式稍有不同,因为讨论串与特定的信息紧密结合,并且通常在讨论串外就看不到里面的内容,故通过回复提问,而非改变标题是可接受的。

2025-04-24 17:13:18 876

原创 Google大规模数据处理:Bloom过滤器

浏览器通常使用Bloom过滤器识别恶意链接,警告用户访问的网站可能是钓鱼网站。请设计一个存储钓鱼网站的Bloom过滤器,存储已知的钓鱼网站,用户可以快速查询某个网址是否是已知的钓鱼网站。编写代码实现一个Bloom过滤器(Hash函数可以自己设计,也可以调用类似MD5、SHA1、SHA2的密码学Hash函数);使用Python列表存储位数组时,内存占用达4MB(远超理论值52KB)空间效率:95851位 ≈ 11.7KB,远小于存储所有URL的空间。MurmurHash3的快速哈希计算(约0.2μs/次)

2025-04-24 03:00:00 700

原创 Linux内核编译全流程详解与实战指南

将CONFIG_SYSTEM_TRUSTED_KEYS等号右侧字符串置空即可(在开发或测试环境中,我们可能不需要严格的模块签名验证)。(指定被吊销的密钥文件)如下图所示。将CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=1024,将数字1024改为4096。(定义了内核可以承载的额外证书空间大小(单位:字节):)将CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=1024,将数字1024改为4096。(定义了内核可以承载的额外证书空间大小(单位:字节)。

2025-04-23 21:57:40 1115

原创 Linux文件系统:结构与管理的核心基础

当你创建一个文件时,它的链接计数是 1,因为它是唯一指向该节点的文件。文件系统的基本数据单位是文件,它的目的是对磁盘上的文件进行组织管理,那组织的方式不同,就会形成不同的文件系统。然而,有时你可能会注意到,当你创建一个新文件时,它得到的索引号比其他文件低,这是因为一旦索引被删除,它们就可以被其他文件重用。,记录指向该 inode 的文件总数,这时会加 1,反过来,删除一个文件名,会减 1,当链接数变为 0 时,表明没有文件指向这个 inode 号码,系统就会回收这个 inode 号码与文件数据块区。

2025-04-23 00:08:34 933

原创 探索 Linux:文件与链接操作的奥秘

当创建硬链接时,两个文件(如 file1.txt 和 file2.txt)共享同一个索引节点,因此它们的内容是相同的。索引节点(inode):每个文件在文件系统中都有一个唯一的索引节点(inode),它包含了文件的元数据(如文件大小、权限、创建时间等)以及指向文件数据块的指针。索引节点(inode):每个文件在文件系统中都有一个唯一的索引节点(inode),它包含了文件的元数据(如文件大小、权限、创建时间等)以及文件数据块的位置。软链接(或符号链接)创建一个新文件,该文件“指向”它所链接到的文件的名称。

2025-04-01 23:33:54 1046

原创 《多线程与信号量编程:实现生产者-消费者模型的深入探讨》

在生产者-消费者问题中,生产者和消费者需要同步,以确保消费者在生产者生产数据后才能消费。在生产者-消费者模型中,互斥锁用于保护对缓冲区的访问,防止数据竞争。确保在访问共享资源的代码块中,互斥锁的使用是严格的,避免死锁。生产者在插入项目后,会输出当前的 empty 和 full 值,表示缓冲区的状态。由于生产者每秒生成一个项目,而消费者每五秒消费一个项目,生产者的生产速率明显高于消费者的消费速率。线程:是进程的一个执行单元,线程之间共享进程的资源,但每个线程有自己的栈和寄存器。线程的创建和管理比进程更轻量。

2025-03-30 18:47:40 964

原创 《线程大师——多线程高效处理》

线程同步问题:多个线程同时访问共享资源(如数组)时,可能会导致数据竞争(Data Race)和不一致的结果。进程与线程:线程是作系统调度的最小单位,是进程中的一个执行流在本程序中,使用了多个线程(sorting_thread 和 merging_thread)来并行执行任务。排序线程函数功能:线程执行的函数,对子数组进行排序。合并线程函数功能:线程执行的函数,对两个子数组进行合并。排序函数实现:使用选择排序算法,遍历子数组,将最小的元素放到正确的位置。参数:array:待排序的数组。线程启动后执行的函数。

2025-03-26 22:56:55 643

原创 基于SVD分解的图片嵌入

(水印嵌入)同学自由组队,每位同学任意选取彩色载体图像矩阵AMxNx3'Wmxnx3作为待嵌入水印的彩色图像矩阵,M>m,N>n,选择合适的水印强度参数 a,通过 SVD 将Wmxnx3嵌入到AmxNx3中,交给其他同学必须的数据进行水印的验证。将第二张图片的部分像素值隐藏入第一张图片中,由于特征值的改变,图片的黑白色度发生变化,由于嵌入的是隐藏图像的奇异值信息,输出图像与原始承载图像在视觉上通常非常接近。S_modified:承载图像的奇异值向量,将隐藏图像的奇异值按比例叠加到承载图像的奇异值上。

2025-03-23 20:33:17 784

原创 多进程编程之基本shell

实现 shell 接口的一种技术是让父进程首先读取用户在命令行中输入的内容(在本例中为 cat prog.c),然后创建一个单独的子进程来执行该命令。如果已满,先释放最早一条命令的内存,然后将后续命令向前移动,最后将新命令添加到队列末尾。重复执行历史命令时,先检查命令是否存在,避免执行无效命令。n时,将字符n转换为数字索引,并检查索引是否在有效范围内,避免执行不存在的命令。此外,覆盖历史命令时,未释放旧命令的内存,也会造成内存浪费。解决方法: 在覆盖历史命令时,先释放旧命令的内存,再添加新命令。

2025-03-21 04:00:00 691

原创 你来我往之LFSR的破译

2-3位同学一组,每位同学自己生成512级(即寄存器的大小为512个比特)的LFSR,寄存器的初始值随机给定(不能为全零和全1),反馈多项式生成一个本原多项式,连续运行512轮不输出,然后再运行输出1024个比特,交给其他同学,其他同学需要破译出对方的本原多项式,并还原出寄存器的初始值。对于一个LFSR来讲,我们目前主要关心三个部分:******初始状态、反馈函数和输出序列****这里不做赘述,可自行了解。方法1:****异或操作****计算输出序列。方法3:通过****位运算****求输出序列。

2025-03-20 23:20:19 474

原创 Linux 文件传输:简单易用的复制程序

C语言文件作函数参数的传递理解,理解了fread函数和fwrite函数两个的正确使用方法。文件复制的原理:其中按照字节进行复制可以避免编码一些问题,其次对文件名后缀的理解。Linux有一句著名的话“一切皆文件”,后缀名只是为了区分文件,其本质还是根据文件内容来判断文件类型的。在复制过程中,文件后缀的影响,不影响其具体的文件内容,只不过Windows系统打开文件使用的工具是根据文件名后缀来判断的,所以会出现一些错误。EXIT_SUCCESS 是一个宏,通常定义在 <stdlib.h> 头文件中。

2025-03-10 22:41:02 1021

原创 HTML—— 代码的诗篇

HTML网页有一个标准结构,主要由以下几个关键部分组成:文档类型声明、HTML根元素、头部(head)和主体(body)部分。这种结构为浏览器解析和显示网页内容提供了清晰的框架。声明:位于文档最前端,表明这是 HTML5 文档,让浏览器按 HTML5 标准解析页面。元素:是 HTML 文档的根元素,其他元素都嵌套其中,有开始和结束标签,就像一个容器,包裹着整个网页的内容。元素(包含元数据)标签:如指定字符编码,还有用于搜索引擎的其他元信息标签。

2024-12-07 00:38:20 1021

原创 一站式教程:手把手教你搭建Linux下的LNMP服务器

强调一下:数据库有时候已经更新了,可能出现版本不匹配问题,建议使用 https://soft.lnmp.com/lnmp/lnmp2.1.tar.gz 这个代替下面的wget命令后面的链接。如果确定确实不需要该引擎可以输入 n,(MySQL 5.7+版本无法关闭InnoDB),输入完成,回车进入下一步:选择 PHP 版本,建议安装 PHP 7+的版本。上图表明,安装好的nginx将网站的根目录设置为/home/wwwroot/default,这个可以根据自己的喜好进行修改。

2024-11-21 23:39:56 3412 2

原创 算法实战:手把手教你用KMP算法解决字符串匹配问题

如果相同(i++,j++),不相同,再次移动最大前后缀长度(此时是k前面的最大前后缀,设长度为k1),然后i不变,j = k1;按照此思路,一直匹配,直到匹配结束。由图片可以看出,在当前这种情况下,对于j+1来说,能够找到k+1位置满足浅蓝色部分区域相同,因此当j+1和主串匹配不成功时,将移动最大前后缀长度后,比较的是k+1位和主串。根据三个字符串相同部分为A,然后先得到每一个列均为A,然后设第二个字符为B,则在匹配成功部分B列均为B,根据模式串2和模式串是相同的,可以推断出模式串前面的三个字符ABA。

2024-10-26 11:17:36 1692 1

原创 程序员的自我修养:日常代码苦练的秘诀

现有若干学生的学籍档案信息,要求编写应用软件对学生学籍信息进行日常管理,以及实现学生信息的录入、查找、插入和删除等常规操作,并根据学生姓名进行查询。学生学籍信息的录入、插入某学生信息、按姓名查询信息、按学号删除信息,输出所有学生信息。Create函数:输入学生数据,创建顺序表,函数返回指向顺序表的指针。Output函数:输出顺序表L中的所有学生信息。在主函数中完成对顺序表的初始化,并根据用户输入的操作选项,对学生信息完成相应的处理。: 定义一个结构体 ,用于存储单个学生的信息,包括学号、姓名、性别和地址。

2024-10-25 13:01:25 628

原创 从菜鸟到大神,IT从业者的日常代码训练

每组数据有3行构成,第1行为3个正整数n,m,t, n表示第一个多项式的项数,m表示第二个多项式的项数,t表示运算类型,0为加法,1为减法,每组数据的第 2 行包含2n个整数,每两个整数分别表示第一个多项式每一项的系数和指数;然后根据系数和指数的不同情况,输出多项式的表达式。如果 和 的指数相等,则将系数相加,如果结果不为0,则将结果的系数和指数存储到 ,然后移动 、 和 的指针。对于系数不为1或-1的项,需要输出系数的绝对值,并根据指数的情况输出对应的代数表达式,如"x"或"x^exp"。

2024-10-24 23:31:35 1168

原创 从小白到大牛:IT人的日常代码苦练心得

/ 定义了一个结构体 Node,用于表示多项式的每一项int coef;// 系数int exp;// 指数// 指向下一项的指针} Node;// 创建一个多项式链表,输入参数 n 表示多项式的项数int coef;// 系数int exp;// 指数// 定义指针变量 p, q, head// 初始化头指针为 NULLq = NULL;// 初始化辅助指针 q 为 NULLint i=0;for(i = 0;i < n;i++) {// 从输入中读取系数和指数。

2024-10-22 20:46:34 1264 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除