算法-动态规划-斐波那契模型
本资源是解决算法中动态规划中第一章斐波那契模型。我们通过四道例题来学习了什么是动态规划,从泰波那契数列开始,到解码方法结束。以四道典型例题,对我们的斐波那契数列模型有了新的认识,在解决个问题中,我将每道题的解题思路一画图版的形式展示出来,放在资源中,工大家学习参考,同时在堆第一章总结的思维导图也放在压缩包之中,供大家参考。
数学建模-2021年-国赛D题-解决连铸切割问题(模拟训练专用)
题是在参加学校数学建模培训时的第二道模拟训练题,为2021年国赛D题解决连铸切割问题。该题主要采用多目标规划以及序贯解法解决。本题的最终论文已存放在该压缩包感兴趣可下载使用学习。本文针对尾坯长度和结晶器异常情况,给出最优的切割方案,满足用户的目标要求和正常要求。 解决这个问题可以提高生产效率,减少资源浪费,满足用户需求,确保生产线的正常运行。
问题一:这个问题根据尾坯长度制定出最优的切割方案,这是一个规划优化类问题。我们使用了多目标规划模型和序贯算法,首先考虑报废钢坯的长度,使报废钢坯长度最小;其次考虑用户要求,在相同的切割损失下,切割出的钢坯尽量满足用户的目标范围中的目标值,得出最优切方案(表 1)。
问题二: 在钢坯第 1 次出现报废段时,给出此段钢坯的切割方案; 我们继续使用多目标规划模型,目标一:首先考虑报废钢坯的长度,使报废钢坯长度最小; 目标二: 其次考虑用户要求,在相同的切割损失下,切割出的钢坯尽量满足用户的目标范围[9.0,10.0]标;目标三:达到用户目标值 9.5m。 根据多目标规划模型分别依次计算从初始时刻到每次结晶器异常时刻的尾坯切割方案
数学建模-2016年国赛-C题 电池剩余放电时间预测 (模拟训练专用)
本题是在参加学校数学建模培训时的第一道模拟训练题,为2016年国赛C题预测电池剩余放电时间问题。该题主要采用插值拟合,线性回归以及线性最小二乘估计解决。本题的最终论文已存放在该压缩包,不仅如此,解决此问题预处理的相关结果以及相关代码也已存储在该压缩包中,感兴趣可下载使用学习。
铅酸电池在电动汽车、航空航天、电力传输等领域中广泛使用,那么优化电池设计,提高电池的能量密度和使用寿命, 优化能源分配和使用效率。 都离不开解电池的放电特性和电压稳定性,而本文研究了在恒定电流下电压与放电时间的变化曲线以及电池有衰减状态时放电特性的研究。 第一问首先对已给样本数据整理分析绘制成散点图, 确定使用三阶多项式
拟合的方法,利用最小二乘估计原理使用 Python 软件进行计算, 得到具体的放电曲线模型。 通过计算并选取 231 个电压样本点, 得到每一个样本点的相对误差以及平均值,进而得到对应恒定电流下的放电曲线模型的 MRE。 根据建立的模型, 将 9.8V 和 9V 代入对应恒定电流下的放电曲线模型做差后即可得到电压为 9.8V 各恒定电流下电池的剩余放电时间。第二问预测任意恒定电流下的放电曲线
用函数递归来解决汉诺塔问题(C语言实现)
汉诺塔问题,简单来说,就是把a柱上的n个圆盘,通过b柱作为辅助全部搬运到c柱上去。在搬运的过程中一次只能搬运一个圆盘,而且大圆盘不能放到小圆盘上面。我们很容易知道:
当n=1时,我们直接将盘子从a柱移到c柱便解决了问题。
当n=2时,我们可以先把a柱上的第一个盘子移动到b柱(a柱最上面的盘子编号为1,向下依次递增),然后将a柱上的第二个盘子移动到c柱,再将b柱上的盘子移动到c柱即可。
但是当n的值为3及以上时问题便变得麻烦起来了。那么我们能否将后面复杂的问题化简为前面简单的两种情况呢?
答案是肯定的,这也是函数递归的目的:将复杂的问题简单化。
所以我们只需将盘子个数为n的分为两类解决即可:
当n=1时,将盘子从a->c即可。
当n>1时,将a柱上的n-1个盘子移动到b柱上,再将a柱上剩下的一个(也就是第n个)移动到c柱上,然后将b柱上的n-1个移动到,c柱上即可。(记住我们这里是将n-1个盘子看为一个整体)
leetcod 203.移除链表元素:
题目描述
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。(题目来源:https://leetcode.cn/problems/remove-linked-list-elements/description/)
解题思路有两种:(一)要移除链表中值为val的节点,我们肯定是要将链表遍历一遍的,关键是我们在遍历中如何操作是一个问题。所有,我们考虑问题的时候,可以先考虑比较常见的情况,再考虑特殊情况。(二)思路一可能过于麻烦,当我们要移除某一个节点时,还需要判断该节点是否为第一个节点,那么有没有什么办法可以不进行这个操作呢?
回答是肯定的。新的解决办法就是在传入的链表前面强行加上一个头节点,并让链表原来的头指针指向该头节点,这样我们就不用判断待移除的节点是否为第一个节点了(因为现在第一个节点就是头节点)。具体思路详解请看拿捏链表(一)---------移除链表元素
2021年高教社杯全国大学生数学建模D题论文
本文为2021年高教社杯全国大学生数学建模D题论文,以多目标规划模型为基础,着力研究连铸切割题目,通过多目标规划对连铸切割进行数学模型分析,其次通过matlab的序贯算法,对约束条件和题目要求的优先度,对最后结果实现无限逼近,以达到最优切割方案。相关代码在结尾附录
本文针对尾坯长度和结晶器异常情况,给出最优的切割方案,满足用户的目标要求
和正常要求。解决这个问题可以提高生产效率,减少资源浪费,满足用户需求,确保生
产线的正常运行。第二问中结晶器有异常时和第一题问题一样,根据多目标规划模型分别依次计算从初始时刻到每次
结晶器异常时刻的尾坯切割方案和每两次结晶器异常之间的钢坯长度切割方案。最后对
初始切割方案和当前钢坯切割方案进行对比,切割方案一样的可不用调整,不一样则需
要调整。得出最终切割方案。
C语言实现一下经典游戏三子棋的test.c
C语言实现一下经典游戏三子棋的实现,其中game.h为实现三子棋游戏中接口函数的声明,game.c为实现三子棋的具体接口函数的实现,test.c为测试接口函数和三子棋的具体实现以及main函数的实现
C语言实现一下经典游戏三子棋的game.c
用C语言实现一下经典游戏三子棋的实现,game.h用来存放三子棋中接口函数的声明,game.c用来实现三子棋游戏中接口函数的具体实现,test.c则测试接口函数,以及实现三子棋和main函数。
C语言实现三子棋的game.h
用C语言实现一下经典游戏三子棋的实现,game.h用来存放三子棋中接口函数的声明,game.c用来实现三子棋游戏中接口函数的具体实现,test.c则测试接口函数,以及实现三子棋和main函数。
单链表的接口函数实现以及相关接口函数的测试
此文件为单链表的接口函数实现以及相关接口函数的测试,SList.h里面为单链表的节点结构体,接口函数的声明,SList.c为接口函数的具体实现,test,c为测试相关的接口函数。
单链表的接口函数实现以及相关接口函数的测试
此文件为单链表的接口函数实现以及相关接口函数的测试,SList.h里面为单链表的节点结构体,接口函数的声明,SList.c为接口函数的具体实现,test,c为测试相关的接口函数。
单链表的接口函数实现以及相关接口函数的测试
此文件为单链表的接口函数实现以及相关接口函数的测试,SList.h里面为单链表的节点结构体,接口函数的声明,SList.c为接口函数的具体实现,test,c为测试相关的接口函数。