-
实验6
task 4 #include <stdio.h> #define N 10 typedef struct { char isbn[20]; // isbn号 char name[80]; // 书名 char author[80]; // 作者 double sales_price; // 售价 -
实验6
实验任务1 实验任务2 实验任务3 3.1 实验任务4 #include <stdio.h> #define N 10 typedef struct { char isbn[20]; // isbn号 char name[80]; // 书名 char author[80]; // 作者 doubl -
算法第五章
最小重量机器设计问题 1.1 解空间 每个零件对应一个供应商编号(1到m),所以解是一个长度为n的向量 其中x的范围为{1,2,……,m}表示第i个零件选择的供应商。 解空间大小为m的n次方。 1.2 解空间树 解空间树是一个m叉树,深度为n,有 m 个供应商(1...m) 对于部件 i,供应商 j -
算法第四章
贪心算法分析 贪心策略 将所有区间按右端点从小到大排序; 选取第一个区间的右端点作为第一个选点; 依次遍历后续区间: 若当前区间包含已选点,则跳过; 若当前区间不包含已选点,则选取当前区间的右端点作为新的选点。贪心选择性质是指“每次选择当前区间的右端点”这一局部最优选择 -
软件技术基础B第四次作业
这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/25rjjc 小组名称 Nova Labs新星实验室 成员 赵欣彤 孙姝 任义 胡毅 小组口号 "Trust as a Service. 连接信任,激活价值。" 项目分工明细 角色 姓名 核心工作内容 组长 -
第五章作业
一、回溯法分析“最小重量机器设计问题” 首先明确问题核心定义: 现有 n个部件,每个部件有 m个供应商 可选;第i个部件的第j个供应商提供的产品,重量为 w_{ij} 、价格为 c_{ij} ( 1 \leq i \leq n, 1 \leq j \leq m )。要求选择每个部件的一个供应商,使得 -
第五次作业
一、回溯法分析 “最小重量机器设计问题”首先明确最小重量机器设计问题:有n个部件,每个部件有m个可选供应商,第i个部件选第j个供应商的重量为(w_{ij})、成本为(c_{ij}),要求选择每个部件的一个供应商,使得总成本不超过预算C,且总重量最小。1.1 解空间解空间是所有可能的部件供应商选择组合 -
第四次作业
一、贪心算法核心理解贪心算法是一种基于局部最优选择,期望最终得到全局最优解的算法思想,其核心特征为:每一步决策仅做出当前状态下最优的选择,不回溯、不考虑后续步骤的影响,无后效性;问题必须具备两个关键性质才能用贪心求解:贪心选择性质 + 最优子结构性质,二者缺一不可。两个核心性质定义✅ 最优子结构性质 -
实验六
任务四 、 #include<stdio.h> #define N 10 typedef struct { char isbn[20]; char name[80]; char author[80]; double sales_price; int sales_count; }Book; void -
实验六
实验六 任务一: 代码部分: utils.hpp: #pragma once #include <fstream> #include <iostream> #include <stdexcept> #include <string> #include <vector> #include "conte -
实验06
任务1 代码 utils.hpp #pragma once #include <fstream> #include <iostream> #include <stdexcept> #include <string> #include <vector> #include "contestant.hpp -
实验6
task 1 Contestant.hpp 1 #pragma once 2 #include<iomanip> 3 #include<iostream> 4 #include<string> 5 6 struct Contestant { 7 long id; 8 std::string name -
第五章作业
一、回溯法分析 “最小重量机器设计问题” 1.1 “最小重量机器设计问题” 的解空间 简单来说,这个问题的解空间就是所有可能的 “部件 - 供应商” 搭配方案的总和,我们可以用通俗的方式拆解理解: 解的样子:每个解都是一个 “供应商选择清单”,可以看成一个长度为n的列表(对应n个部件)。比如有 2 -
实验6
实验任务1 contestant.hpp #pragma once #include <iomanip> #include <iostream> #include <string> struct Contestant { long id; // 学号 std::string name; // 姓名 -
实验6
任务4 #include <stdio.h> #define N 10 typedef struct { char isbn[20];// isbn号 char name[80];// 书名 char author[80];// 作者 double sales_price; // 售价 int sa -
实验六
任务1 1.实验代码 #pragma once #include <iomanip> #include <iostream> #include <string> struct Contestant { long id; // 学号 std::string name; // 姓名 std::strin -
实验6
1.实验任务1 此部分书写内容: 给出contestant.hpp, utils.hpp, task1.cpp源代码及运行结果截图(屏幕输出截图,及,生成数据文件ans.txt截图) contestant.hpp 点击查看代码 #pragma once #include <iomanip> #inc -
实验六
实验任务一: #pragma once #include <iomanip> #include <iostream> #include <string> struct Contestant { long id; // 学号 std::string name; // 姓名 std::string ma -
最小重量机器设计问题的回溯法分析
问题描述 有 n 个零件,每个零件可以从 m 个供应商中选择。每个供应商提供零件的价格和重量不同。要求在总价格不超过预算 C 的前提下,选择供应商组合使总重量最小。 1.1 解空间 解空间由所有可能的供应商选择组合构成: 每个零件 i 有 m 种选择(供应商 1 到 m) 解是一个长度为 n 的向量 -
区间选点问题 贪心算法的理解
问题 在数轴上给 n 个区间 [aᵢ, bᵢ],选最少的点,让每个区间至少包含一个点。 贪心策略 排序:按区间右端点从小到大排序 选点:从左到右扫描: 如果当前区间没被上一个点覆盖 就选这个区间的右端点作为新点 c++【 sort(区间, 按右端点排序); 点集合 = []; 上一个点 = -∞;