自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XiaoLing 一直摆烂哇!

/* 用笔记留下我学习的痕迹,望博客能给后来人一些参考 */

  • 博客(136)
  • 收藏
  • 关注

原创 【ChatGPT】教我 Flyweight(享元) 模式

Flyweight 模式是一种结构型设计模式,它旨在减少内存使用和提高性能,通过共享对象来优化大量细粒度对象的创建和管理。该模式适用于以下情景:文本编辑器:在一个文本编辑器中,字符是细粒度的对象,如果每个字符都创建一个独立的对象,将会占用大量内存。使用 Flyweight 模式可以共享相同字符的实例,从而减少内存开销。图像处理:在图像处理中,像素是细粒度的对象。使用 Flyweight 模式可以共享相同像素值的实例,以减少内存占用。游戏开发:在游戏中,例如棋盘游戏,棋子是细粒度的对象。通过使用

2023-11-01 16:37:57 230

原创 《Linux 内核设计与实现》13. 虚拟文件系统

该对象(切记,不是具体的文件,即不是物理的,而只是存在于内存中的,因此 VFS 的文件对象没有对应的磁盘数据)由相应的 open() 系统调用创建,由 close() 系统调用撤销。各种文件系统都必须实现超级块对象,该对象用于存储特定文件系统的信息,通常对应于存放在磁盘特定扇区中的文件系统超级块或文件系统控制块。其实就是无效目录项,一个负状态的目录项没有对应的有效索引节点(d_inode 为 NULL),因为索引节点已被删除,或路径不在正确,但目录项仍然可以保留,以便快速解析以后的路径查询。

2023-10-07 00:45:31 313

原创 《Linux 内核设计与实现》12. 内存管理

当你创建了一个高速缓存后,slab 层所起的作用就像一个专门的分配器,可以为具体的对象类型进行分配。不能给 _get_free_pages() 或 kalloc() 指定 ZONE_HIGHMEM,因为这两个函数返回的都是逻辑地址,而不是 page 结构,这两个函数分配的内存当前有可能还没有映射到内核的虚拟地址空间,因此,也可能根本就没有逻辑地址。若想要释放的内存不是由 kmalloc() 申请的,或想要释放的内存早被释放了,再调用 kfree() 的话,就会导致很严重的后果。

2023-05-09 12:27:23 936 1

原创 《Linux 内核设计与实现》11. 定时器和时间管理

若随意改变内核中的 HZ 值,而不及时更新用户空间的 HZ,则会给用户空间中的某些程序造成些异常结果。jiffies_to_clock_t() 将一个由 HZ 表示的节拍计数转换成一个由 USER_HZ 表示的节拍计数。jiffies 是无符号长整型,在 32 位,时钟频率为 100HZ 的情况下,497 天会溢出,1000HZ 的情况下,49.7 天就会溢出。其次,一般情况下,应该使用 del_timer_sync() 代替 del_timer(),因为无法确定在删除定时器时,它是否在其它处理器上运行。

2023-05-09 12:25:21 681

原创 《Linux 内核设计与实现》10. 内核同步方法

在 Linux 上 atomic_t 整数类型都是 32 位,其中数据位为高 24 位,低 8 位嵌入了一个锁,因为 SPARC 体系结构对原子操作缺乏指令级支持,所以只能利用该锁来避免对原子类型数据的并发访问。down_read_trylock() 和 down_write_trylock() 方法,若成功获得了信号量锁,返回非0,若信号量锁被争用,则返回0,这与普通信号量情况相反,要小心。自旋锁不可递归:你试图得到一个你持有的锁,必须自旋等待,可是你处于自旋等待中,因此无法释放锁,导致给自己锁死了。

2023-05-09 12:24:22 529

原创 《Linux 内核设计与实现》09. 内核同步介绍

共享资源之所以要防止并发访问,是因为如果多个执行线程同时访问和操作数据,就有可能发生各线程之间相互覆盖共享数据的情况,从而造成被访问的数据不一致状态。临界区和竞争条件- 临界区:访问和操作共享数据的代码段。- 原子操作:对资源的操作必须保证在结束之前不可被打断。- 竞争条件:两个执行线程对同一个临界区操作。- 同步:避免并发和防止竞争条件。现在有一个队列,有两个函数,一个是在尾部添加元素,另一个是删除尾部元素。这两个函数在内核的各个部分都可以调用,因此现在假设程序 A 要增加一个元素,当增加完了

2023-05-08 12:44:26 341

原创 《Linux 内核设计与实现》08. 下半部和推后执行的工作

这个 taskle 被调度之后,还未运行,此时又有一个相同的 tasklet 又被调度了,那么它仍然只会运行一次,或者说后来的那个无法被调度,因为在 task_schedule() 中已经做了判断。在这种情况下,中断处理程序执行硬件相关的操作,然后触发相应的软中断,最后退出。这被称作触发软中断。通常,中断处理程序会在返回前标记它的软中断,使其在稍后被执行。大部分软中断处理程序,都通过采取单处理器数据(仅属于某一个处理器的数据,因此根本不需要加锁)或其它一些技巧来避免显示地加锁,从而提供更出色的性能。

2023-05-08 12:43:04 557

原创 《Linux 内核设计与实现》07. 中断和中断处理

但在一条指定的中断线上,对 disable_irq() 或 disable_irq_nosync() 的每次调用,都需要响应地调用一次 enable_irq()。若指定的中断线不是共享的,那么,该函数删除处理程序的同时将禁用这条中断线。若中断线是共享的,则仅仅只是删除 dev 所对应的中断处理程序,而这条中断线只有当最后一个中断处理程序被删除时才会跟着被禁用。即同一条中断线上只允许接收一个中断,而该中断线上的其它中断我们此时不接收,但其它中断线上的不受影响。禁用多个中断处理程序共享的中断线是不合适的。

2023-05-08 12:40:32 496

原创 《Linux 内核设计与实现》06. 内核数据结构

链表中添加元素不再是添加一整个结构体 fox,而是添加 list_head 指针,每个 fox 都有一个 list 成员属性,通过这个属性可以得到上一个元素和下一个元素,以及还可以通过 list_entry() 转换得到父结构体 fox。这时因为在 C 语言中,一个给定结构中的变量偏移在编译时地址就被 ABI 固定下来了。而是将 fox 和 next/prev 指针分开,将 next/prev 形成一个新结构体 list_head。

2023-05-07 15:22:06 88

原创 《Linux 内核设计与实现》05. 系统调用

在系统调用表添加一个表项。表中的位置序号(索引)就是对应的系统调用号。对于所支持的各种体系结构,系统调用号都必须定义于中。系统调用必须被编译进内核映像(不能被编译成模块)。这只要把它放进 kernel 下的一个相关文件中就可以了,如 sys.c 它包含了各种各样的系统调用。新增系统调用 foo(),此时这个函数只是系统调用的具体实现,是在内核中的。第一步:在系统调用表中添加一个表项。;...;....long sys_foo /* 新增的表项 */第二步:将系统调用号添加到 unistd.h 中。

2023-05-07 15:15:15 530

原创 《Linux 内核设计与实现》03. 进程管理

此时内核需要代替用户程序执行用户程序所需的程序(其实就是说,用户程序没权限去得到或执行内核的东西,但是我用户程序需要内核的部分东西来辅助用户程序的执行,所以我需要内核来帮我去执行某些程序,最后将结果给我),这便是“代表进程执行”。调用完 exit() 后,对应的内存位图被重置,但是此时并没有将进程描述符 task_struct 以及 thread_info 给删除掉,由此可见资源的释放和进程描述符的删除是被分开执行的。如果在一个拥有大量进程的系统中遍历所有进程,代价是很大的,因此尽量不要这么做。

2023-05-07 15:11:13 452

原创 「蓝桥杯」积木大赛

接下来每次操作,小朋友们可以选择一段连续区间 [L,R],然后将第 L 块到第 R 块之间(含第 L 块和第 R 块)所有积木的高度分别增加 1。缩小范围,观察两栋楼,例如前两栋,若第 i 个柱子大于第 i - 1 个柱子,则表示第 i - 1 栋楼盖楼时已经把第 i 栋给一起联动覆盖了,因此第 i 栋只需要盖 A[i] - A[i - 1] 层就够了。今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为 1 的积木组成,第 i 块积木的最终高度需要是 h_i。

2023-05-04 11:52:18 550

原创 「蓝桥杯」扫地机器人

第一台路线:2-1-2-3-4-3-2,清 扫了 1、2、3、4 号区域。题目要求多个机器人一起扫地,需要最少多少时间可以全部扫完,根据贪心思想,既然我们有 K 台机器人,路程为 N,那么我们自然是要把路程均分给每台机器人才可以得到最少时间,每台机器人负责 N/K 区域。给定一个每台机器人能扫的距离 m,校验每台机器人扫了 m 距离后,能否扫完整个路程,若可以则继续缩小 m ,否则扩大 m,从这里就能看得出来只是二分思想。回来,也就是说扫了 4 个距离,花费了 6 时间,不管从。行,每行一个整数 A_i。

2023-05-04 11:44:52 1039

原创 「Codeforces」D. Infinite Set

通过上面的例子,我们发现,只是 1 后面的 0 发生了变化,而我们的规则是要么增加一个 1,要么增加两个0(这0是一起添加的,不能分开)。上表意思:一个数的二进制在其后面增加若干位数,每次只能增加一个 1 或两个 0 ,那么最终得到的不同的数有多少个。的元素是 {5,11,20,23,39,41,44,47,79,80,83,89,92,95}。的数,其实就是求对应的二进制最高位 1 的后面 0 的变化,例如。的元素是 {1,3,4,6,7,9,12,13,15}。**Tips:**以后但凡看到这种。

2023-05-04 11:40:10 447

原创 「Codeforces」C. Differential Sorting

对于每个测试用例,如果没有解决方案,则在一行中打印 -1。那么接下来的 m 行中的第 i 行应该包含三个整数 x,y,z (1≤x

2023-05-04 11:37:52 517

原创 「Codeforces」B. Avoid Local Maximums

对于每个测试用例,首先输出一个包含单个整数 m 的行——所需的最小操作数。根据局部最大值的定义,可以知道局部最大值若有多个,一定是相隔开的,两两之间至少隔了一个元素,那么我们只需要让这个元素修改为左右两边最大的那一方就可以啦。然后是 t 个测试用例。每个测试用例的第一行包含一个整数 n (2≤n≤2⋅105) — 数组 a 的大小。讲真,虽然过了,不过就是做法好像比较笨(不管,反正我过了,哈哈哈)。在第一个示例中,数组不包含局部最大值,因此我们不需要执行操作。求:使用最少的操作,使数组内不包含局部最大值。

2023-05-04 10:06:11 711

原创 「Codeforces」A. Reverse

不是,前者是因为数字重复,后者是因为最大值超过了 n(不在 n 范围内)。序列是一个数组,由 1 到 n 以内的不同数字任意顺序排列组成。每组测试用例的第二行包含 n 个整数,表示序列元素。要求你找到恰好执行一次反转操作获得的字典最小序列。每组测试用例的第一行包含一个整数 n(2022年2月15日15:29:19。选择两个整数,即一个区间。输出可以获得的字典序最小的排列。的元素下标为 L,接着找。,对其区间进行反转操作。的元素下标 R,对这个。给一个长度为 n 序列,

2023-05-04 10:03:22 475

原创 「Codeforces」B. Odd Swap Sort

上面的第二条信息,既然偶数相连或奇数相连都不可能交换位置,那么如果要保证最终的结果为非递减序列,那么所有的偶数序列和奇数序列都必须是非递减的才行。,an (1≤ai≤109) — 数组的元素。每个测试用例的第一行包含一个整数 n (1≤n≤105) — 数组的长度。因此我们只需要判断偶数序列和奇数序列是否都是递增的就行。,使得最终得到的序列是一个非递减的序列。这题目其实是可以模拟的,不过复杂度为。的和为奇数,则交换这两个数的位置。,数据量很大,因此必然为 TLE。有一个数组A,遍历这个数组,若。

2023-05-04 10:02:08 707

原创 「Codeforces」C. Inversion Graph

有上面的几个信息,我们知道只需要维护最大值就可以了,简单来说就是“大于该数的就是新的连通块,小于该数的则连接该连通块”,因此我们只需要维护最大值就行,如何维护?这也是维护时需要注意的点:判断一个数是不是属于当前连通块的时候,如果是,则还需要判断是否也属于前面的连通块。,表示 2 即使属于 5 的连通块,也是属于 3 的连通块,所以 3 也属于 5 的连通块。答:一定,因为若数小于栈顶即不属于当前连通块,就不入栈,若大于栈顶,则是新的连通块,会入栈。,所以 1 是属于 3 的连通块。≤n) — 排列的元素。

2023-05-03 11:30:08 678

原创 「Codeforces」D. Big Brush

都是同一个颜色,也就是说,无论前面的如何操作,这个色块无论是什么颜色,在最后一步的时候都会被填充为同一色块,换句话说,这几个色块可以与任意颜色匹配,因为到了最后一步都会被填充回来,每次找到这种色块,我们需要将其设置为 “-1”,这种色块我们称之为“万能块”。在接下来的 q 行的第 k 行,打印三个整数 i, j, c (1≤i

2023-05-02 09:25:44 1068

原创 「Codeforces」771-div2 E. Colorful Operations

个人认为本题的难点主要是如何维护这个颜色,我一开始是想用一个结点内部维护一个 color 和 val 属性,表示每个结点的颜色和值,用的是线段树,后面我发现如果一个区间内的颜色不同,那么 color 到底应该填什么呢…这样效率很低,可以考虑先操作,等该数的颜色发生变化时,再去更新元素的值,这就是一个延迟操作的效果。对于操作 2 和 操作 3 来说,其实和单点的是一样。对于操作 1:只修改同一种颜色的区间,否则就一定往下找,最后一个点一定为 true。接下来的每一个q行包含以问题陈述中描述的形式给出的查询。

2023-05-01 15:24:15 613

原创 「数论-最大公约数」P1372 又是毕业季I

既然是求一个序列中,选 k 个数,并且这组数据是最大的公约数,那么我们所选的 k 个数,就一定要满足倍数关系,因为只有这样才可以得到最大公约数。并且这组数据一定是在最后面的,即离 n 最近的 k 个数。为了把毕业晚会办得更好,老师想要挑出默契程度最大的 k 个人参与毕业晚会彩排。老师列出全班同学的号数。知识点:若多个数都是倍数关系,则最大公约数一定是最小的那个。本题给 n 个数,从 1~n 中选 k 个数,求最大公约数。例如:8 与 24,3×8=24,gcd(8,24)=8。一个整数,为最大的默契值。

2023-04-30 10:06:38 752

原创 「欧拉定理」[SDOI2008]仪仗队

仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图)。现在,C君希望你告诉他队伍整齐时能看到的学生人数。作为体育委员,C君负责这次运动会仪仗队的训练。共一个数,即C君应看到的学生人数。

2023-04-29 08:21:06 866 2

原创 「背包问题-步入」CSL分苹果

CSL手上有n个苹果,第i个苹果的质量是wi,现在他想把这些苹果分给他的好朋友wavator和tokitsukaze。01背包问题,苹果的质量即为价值,要将苹果按质量均分为两堆,那么必然是 质量/2,我们可以先计算其中一堆的苹果个数,将总质量除以2,就是一堆的质量,以此质量为上界进行01背包即可。计算出其中一堆的苹果个数后,剩下的苹果个数即为另外一名同学苹果个数,且另外一名同学的苹果个数一定大于或等于该同学。输出两个整数,分别表示wavator和tokitsukaze得到的苹果的质量。

2023-04-28 10:20:31 136

原创 「背包问题-步入」[NOIP2005]采药

医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。第一行有两个整数T(1

2023-04-27 09:39:48 37

原创 「背包问题-步入」[NOIP2006] 金明的预算方案

从第2行到第m+1行,第j行给出了编号为j-1的物品的基本数据,每行有3个非负整数v p q(其中v表示该物品的价格(v < 10000),p表示该物品的重要度(1~5),q表示该物品是主件还是附件。如果q=0,表示该物品为主件,如果q>0,表示该物品为附件,q是所属主件的编号)第1行,为两个正整数,用一个空格隔开:N m(其中N( < 32000 )表示总钱数,m( < 60 )为希望购买物品的个数。设第j件物品的价格为v[j],重要度为w[j],共选中了k件物品,编号依次为j1,j2,……

2023-04-26 13:00:21 66

原创 「背包问题-步入」失衡天平

终于Alice走出了大魔王的陷阱,可是现在傻傻的她忘了带武器了,这可如何是好?这个时候,一个神秘老人走到她面前答应无偿给她武器,但老人有个条件,需要将所选武器分别放在天平的两端,若天平平衡则可以将天平上的所有武器拿走,还好这个天平锈迹斑斑,只要两端重量相差小于等于m就会保持平衡,Alice傻傻的认为越重的武器越好,求Alice最多能拿走的武器总重量。可以称两次,第1次:(1;一个整数,表示Alice最多能拿走的武器总重量。称一次,(10,20,30,40;第二行n个整数x,分别表示n件武器的重量。

2023-04-25 08:41:47 394

原创 「背包问题-步入」队伍配置

队伍配置里,可供玩家选择的作战人物被称作“从者”,玩家可以对每个“从者”可以装备至多1件的“概念礼装”,玩家具有一个cost上限值。数据保证:0

2023-04-24 09:42:38 451

原创 「区间DP-步入」凸多边形的划分

给定一个具有N个顶点的凸多边形,将顶点从1至N标号,每个顶点的权值都是一个正整数。将这个凸多边形划分成N-2个互不相交的三角形,试求这些三角形顶点的权值乘积和至少为多少。)为例,以 BE 为固定边做辅助线,可作出 BD 或 EC,分别可以划分三角形为 EBD 与 BDC 或 BEC 和 CED,其中划分的点 D 与 C 称为分界点 K。输入第一行为顶点数N第二行依次为顶点1至顶点N的权值。输出仅一行,为这些三角形顶点的权值乘积和的最小值。以下代码只能获得 40 分(方便理解DP过程)

2023-04-23 11:45:30 365

原创 「区间DP-步入」括号匹配(超详细的)

还需要注意,当 [0]!观察枚举断点 k 的过程可发现所切割出来的区间都是之间以 len 分割的区间,这些区间都是已知的括号匹配数,最后取最大值即可。所以当 [0] == [3] ,已知 [1][2] = 2 时,[0][3] = [1][2] + 2。= [3] ,已知 [1][2] = 2 时,[0][3] = [1][2]根据上面的这个例子,假设中括号内的括号序列已经求出来了,为 2,最后加上 2 即可。给出一个括号序列,求其中匹配的括号数。由此可见,其右括号的位置是不固定的。一个整数,表示答案。

2023-04-22 09:38:13 491

原创 「区间DP-步入」石子合并(环形)

在一个圆形操场的四周摆放 N 堆石子,现要将石子有次序地合并成一堆,规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。试设计出一个算法,计算出将 N 堆石子合并成 1 堆的最小得分和最大得分。输出共 2 行,第 1 行为最小得分,第 2 行为最大得分。不会的先去看简单版的石子合并,此题在此基础上做小改动。数据的第 1 行是正整数 N,表示有 N 堆石子。表示第 i 堆石子的个数。个整数,第 i 个整数。

2023-04-21 10:21:10 315

原创 「区间DP-步入」石子合并(简单版)

现在要将这 N 堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻。合并时由于选择的顺序不同,合并的总代价也不相同。试找出一种合理的方法,使总的代价最小,并输出最小代价。由上可知,我们应该以 len 递增的形式分割区间。输出文件仅一个整数,也就是最小代价。区间和,可以通过前缀和预处理来实现。堆石子排成一排,其编号为。每堆石子有一定的质量。第一行,一个整数 N。

2023-04-20 10:27:41 368

原创 「线性DP」合唱队形

合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1TK(1

2023-04-19 10:24:55 133

原创 「线性DP-步入」最长上升子序列(LIS)

但此时会有一个问题,我们无法确定最后一个元素的位置到底在哪,只有确定了最后一个元素的位置我们才可以向前推,因为前面所要选的元素一定比后面的小。来看看样例的序列 3 1 2 1 8 5 6,所求得的最长上升子序列为 1 2 5 6,即为 4。此时定义更改为:表示前 i 个序列的最长上升子序列,并且第 i 个元素必须要选。给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。先假设 dp(i) 定义:表示前 i 个序列的最长上升子序列。第二行包含 N 个整数,表示完整序列。

2023-04-18 15:14:25 290

原创 「线性DP-步入」最大子串和

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。DP 定义:表示前 i 项的最大连续子数组的最大和(第 i 项必选)输入:nums = [-2,1,-3,4,-1,2,1,-5,4]解释:连续子数组 [4,-1,2,1] 的和最大,为 6。子问题:求前 i 项的最大连续子数组的最大和。原问题:找出一个具有最大和的连续子数组。子数组 是数组中的一个连续部分。

2023-04-17 18:19:01 281

原创 「线性DP-步入」传球游戏

比如有3个同学1号、2号、3号,并假设小蛮为1号,球传了3次回到小蛮手里的方式有1->2->3->1和1->3->2->1,共2种。​ 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没传出去的那个同学就是败者,要给大家表演一个节目。现在我们知道:1 的左边是 n,右边是 2,而 n 的左边是 n-1,右边是 1,2 的左边和右边同理…

2023-04-16 18:31:08 338

原创 「线性DP」购物

现在的你想要在接下来的n天去糖果店进行选购,你每天可以买多个糖果,也可以选择不买糖果,但是最多买m个。因为每天都可以生产很多糖果,购买的数量也不一定,例如第一天买2个,第二天不买,或者第一天买1个,第二天买1个。题目虽然每天都可以生产很多糖果,但题目要求每天只需要吃一颗糖果,所以第 i 天总共所需要购买的糖果只需要 i 颗即可。接下来n行(第2行到第n+1行),每行m个正整数,第x+1行的第y个正整数表示第x天的第y个糖果的费用。第 0 天购买 0 个糖果,第 1 天购买 2 个糖果(第 1 天全买)

2023-04-15 14:50:50 49

原创 「线性DP」牛牛的旅游纪念品

并且牛牛希望买到的纪念品不要太相似,所以导购小姐姐帮助牛牛把纪念品全部排成了一行,牛牛只需要让选出来要买的m个物品中任意两个的位置差都大于等于k就行了。现在告诉你这n个物品排成一行之后的受欢迎程度(可能是负数),求牛牛带回去的m个物品的最大欢迎度之和。子问题:求前 i 个物品中,选择 m 个合法物品,使其获取最大欢迎值。DP 定义:前 i 个物品中,选择 m 个合法物品,获取的最大欢迎值。原问题:求 n 个物品,选择 m 个合法物品,使其获得最大欢迎值。第一行三个数n,m,k。

2023-04-14 11:29:51 378

原创 「线性DP」花店橱窗

​ 每种花都有一个标识,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有的花束在放入花瓶时必须保持其标识数的顺序,即: 杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必须放在康乃馨左边的花瓶中。为取得最大美观程度,你必须在保持花束顺序的前提下,使花束的摆放取得最大的美学值,并求出每种花应该摆放的花瓶的编号。​ 但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。​ 每种花放在不同的瓶子里会产生不同的美观程度,美观程度可能是正数也可能是负数。

2023-04-13 10:47:11 407

原创 《计算机网络-自顶向下》06. 链路层和局域网

链路层概述、链路层提供的服务、链路层在何处实现、差错检测和纠正技术、奇偶校验检验和方法、循环冗余检测、多路访问协议、信道划分协议、随机接入协议时隙 ALOHA、ALOHA、载波侦听多路访问 —— CSMA、具有碰撞检测的载波侦听多路访问 —— CSMA/CD、CSMA/CD 效率、轮流协议、DOCSIS:用于电缆因特网接入的链路层协议、交换局域网、链路层寻址和 ARP、MAC 地址、地址解析协议 —— ARP、以太网、以太网的帧结构、以太网技术、链路层交换机、交换机转发和过滤、自学习、链路层交换机的性质

2023-04-11 20:33:18 443

空空如也

空空如也

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

TA关注的人

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