自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 电路布线

在解决电路布线问题时,一种很常用的方法就是在布线区域叠上一个网格,该网格把布线区域划分成m*n个方格,布线时,转弯处必须采用直角,如已经有某条线路经过一个方格时,则在该方格上不允许叠加布线。如下图所示,如从一个方格a(2,1)的中心点到另一个方格b(8,8)的中心点布线时, 每个方格布线时需要1个单位的电路材料,所需要最少的电路材料是16​。

2025-05-24 20:55:00 148

原创 求解流水作业调度问题

Johnson 算法针对两台机器的流水线调度问题(记作 $F2||C_{\max}$),其基本思想是根据各作业在两台机器上的加工时间关系,将作业划分为两组,并分别排序,最终合并出最优序列。:在 M1 上加工时间长于(或等于)M2 加工时间的作业,即满足 $a_i > b_i$ 的作业(对于 $a_i = b_i$ 的作业,可任意放入任一组)。:从输入获得作业数量 $n$,以及每个作业在 M1、M2 上的时间 $(a_i,b_i)$(作业编号为 1 至 $n$)。组1 中的作业按 M1 加工时间。

2025-05-16 08:44:28 764

原创 八皇后问题

在国际象棋中,皇后是最厉害的棋子,可以横走、直走,还可以斜走。棋手马克斯·贝瑟尔 1848 年提出著名的八皇后问题:即在 8 × 8 的棋盘上摆放八个皇后,使其不能互相攻击 —— 即任意两个皇后都不能处于同一行、同一列或同一条斜线上。例如:现在我们把棋盘扩展到 n×n 的棋盘上摆放 n 个皇后,请问该怎么摆?请编写程序,输入正整数 n (n≤10),输出全部摆法。要求:棋盘空白处显示句点“.”,皇后处显示字母“Q”,两个字符之间空一格,两种摆法之间空一行。

2025-05-15 20:50:55 840

原创 python欧拉回路

得到欧拉回路。整个过程就像搭积木再反向拆解,最终拼出一条完美路径。

2025-05-13 23:23:10 796

原创 多项式A除以B

这仍然是一道关于A/B的题,只不过A和B都换成了多项式。你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数。

2025-04-26 23:52:40 372

原创 “非常弹”的球

当然为了刚学习物理的森森,我们对环境做一些简化: 假设森森是一个质点,以森森为原点设立坐标轴,则森森位于(0, 0)点。森森为你准备的公式: 动能公式:E=m×v 2 /2 牛顿力学公式:F=m×a 重力:G=m×g 其中: E - 动能,单位为“焦耳” m - 质量,单位为“千克” v - 速度,单位为“米/秒” a - 加速度,单位为“米/秒平方” g - 重力加速度 输入格式: 输入在一行中给出两个整数:1≤w≤1000 和 1≤p≤100,分别表示放大100倍的小球质量、以及损失动力的百分比p。

2025-04-22 21:36:03 326

原创 杨辉三角——多项式系数(动态规划)

杨辉三角的第 n 行(从第0行开始)正好对应于多项式展开后的系数。例如,(x + y)^5 的展开式系数为 1, 5, 10, 10, 5, 1,这正是杨辉三角的第5行。1. 理解杨辉三角的生成规律:杨辉三角的每一行的第一个和最后一个数字都是1,中间的每个数字是上一行的相邻两个数字之和。例如,第n行的第k个数字等于第n-1行的第k-1个数字和第k个数字之和。新行的每个元素(除了首尾的1)是上一行的两个相邻元素之和。2. 动态生成杨辉三角的行:我们可以使用动态规划的方法来生成杨辉三角的第n行。

2025-04-17 21:11:30 215

原创 python解决堆宝塔问题

堆宝塔游戏是让小朋友根据抓到的彩虹圈的直径大小,按照从大到小的顺序堆起宝塔。但彩虹圈不一定是按照直径的大小顺序抓到的。重复此步骤,直到所有的彩虹圈都被抓完。最后 A 柱上剩下的宝塔作为一件成品,B 柱上剩下的彩虹圈被逐一取下,堆成另一座宝塔。问:宝宝一共堆出了几个宝塔?最高的宝塔有多少层?

2025-04-12 23:29:15 280

原创 python解决千手观音问题

人类喜欢用 10 进制,大概是因为人类有一双手 10 根手指用于计数。于是在千手观音的世界里,数字都是 10 000 进制的,因为每位观音有 1 000 双手 ……千手观音们的每一根手指都对应一个符号(但是观音世界里的符号太难画了,我们暂且用小写英文字母串来代表),就好像人类用自己的 10 根手指对应 0 到 9 这 10 个数字。同样的,就像人类把这 10 个数字排列起来表示更大的数字一样,ta们也把这些名字排列起来表示更大的数字,并且也遵循左边高位右边低位的规则,相邻名字间用一个点分隔,例如。

2025-04-10 20:54:45 895

原创 三元组顺序表表示的稀疏矩阵转置

要求按照a中三元组的次序进行转置,并将转置后的三元组置入b中恰当的位置。输出格式: 按置入b中的顺序输出置入的位置下标,转置后的三元组行标、列标和值,数据之间用空格分隔,共t行。为确定转置后的三元组在三元组顺序表 b 中的“恰当位置”(即按行主序排列:先按行号,再按列号),我们将所有 trans 中的三元组按 (r, c) 排序,排序后的下标即为它在 b 中的位置。根据 a 中的顺序依次输出:该三元组在 b 中的插入位置、转置后的三元组的行标、列标和值。

2025-04-07 21:58:43 363

原创 求解双核处理问题(动态规划法)

题目:求解双核处理问题。一种双核CPU的两个核能够同时处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1KB,每个核同时只能处理一项任务,n个任务可以按照任意顺序放入CPU进行处理。编写一个程序求出一个设计方案让CPU处理完这批任务所需的时间最少,求这个最少的时间。(提示:完成n个任务需要sum时间,放入两个核中执行,假设第-个核的处理时间为n1,第二个核的处理时间为sum-n1,并假设n1ssum/2,sum-n1zsum/2,要使处理时间最小,则n1越来越靠近s

2025-04-05 23:00:00 575

原创 Java习题

多态:在Test类的main()方法中,我们创建了一个Circle对象和一个Rectangle对象,并分别调用了它们的area()方法和color()方法。这就是多态的体现,即不同的对象可以以相同的方式响应同一消息。继承(Circle和Rectangle):Circle和Rectangle类都继承了Shape类,这意味着它们都可以使用Shape类中定义的方法和属性。在这个例子中,Circle类和Rectangle类都有自己的area()方法实现,这是因为它们都继承了Shape类的area()方法。

2023-11-07 23:00:29 128 1

原创 8051汇编语言的优缺点介绍

然而,由于其复杂性和低层次的特性,学习和开发过程中也存在一定的困难。本文将介绍8051汇编语言的优缺点。灵活性:8051汇编语言提供了丰富的指令集,可以满足各种复杂的控制逻辑需求。实时性:由于8051汇编语言直接操作硬件资源,因此在实时控制系统中具有很高的可靠性和稳定性。可读性差:由于8051汇编语言采用文本形式编写,缺乏良好的语法结构和代码规范,因此代码的可读性较差。高效性:8051汇编语言可以直接访问寄存器和存储器,避免了高级语言中繁琐的数据类型转换和函数调用过程,从而提高了程序的执行效率。

2023-11-02 23:39:02 370

原创 Java与c语言数组的区别

总的来说,Java 数组和 C 语言数组在设计和用法上有显著差异,Java 数组提供了更高的安全性和抽象性,而 C 语言数组更加底层和灵活,但需要程序员承担更多的责任来确保正确性和安全性。来对数组中的元素进行替换。该方法通过各种重载形式可完成对任意类型的数组元素的替换。这是数组的一个案例:数组中的元素定义完成后,可通过。

2023-11-01 19:27:20 486 1

原创 汇编语言的学习

在子程序的主体部分,编写代码以执行所需的任务。确保你的代码能够正确地完成任务。在进入子程序之前,通常需要保存调用者程序的寄存器状态,以确保不会破坏它们。这可以通过将寄存器的值推入堆栈来完成。首先,需要确定子程序的名称,并定义它所需的输入参数和输出参数。这通常包括寄存器的使用,以及传递参数的方式。如果你的子程序具有输出参数,确保在恢复寄存器状态之前将结果放置在适当的位置,以便调用者程序可以访问它。在子程序完成后,需要还原调用者程序的寄存器状态。这意味着从堆栈中弹出先前保存的值。指令将控制权返回给调用者程序。

2023-10-31 23:33:53 83 1

原创 汇编语言学习

举例来说,当你需要从存储器中读取数据时,你可能会将要读取的内存地址加载到 "DPTR" 寄存器,然后使用相关的指令将数据从该地址读取到 "A" 寄存器中,以便进行进一步的处理。总之, "A" 寄存器主要用于数据处理,而 "DPTR" 寄存器主要用于地址寻址和间接内存操作。它们在不同的上下文和操作中发挥不同的作用。在学习汇编语言中,"A" 寄存器和 "DPTR"(Data Pointer)是我们经常使用的两个寄存器这里给出一些他们使用的差异。

2023-10-30 19:57:28 948 1

空空如也

空空如也

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

TA关注的人

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