-
高级语言程序设计课程第十次个人作业
这个作业属于课程:https://edu.cnblogs.com/campus/fzu/gjyycx/ 这个作业要求在:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15596 学号:102500320 姓名:张振锟 (1)编写一个程序,将一个 -
算法第五章作业
1.1 解空间 问题的解可以表示为一个长度为 n 的序列 解空间规模为m的n次方,属于组合型问题。 1.2 解空间树 解空间树是一棵 m 叉树: 第i层表示对第i个部件的选择 每个结点向下分出m个子结点,对应不同供应商 从根到叶子的一条路径对应一个完整的机器设计方案 1.3 结点的状态值 每个结点表 -
算法第五章作业
1、对于 “最小重量机器设计问题”,回溯法的核心逻辑是:为每个部件依次选择供应商,累计总价格和总重量,若总价格超过限制则剪枝;若遍历完所有部件(到达叶子节点),则更新最小重量和最优供应商选择。 1.1、(1)解的形式:每个解是一个长度为 n 的序列 (j₁, j₂, ..., jₙ),其中: jᵢ -
第四章
从代码可知,该问题是区间选点问题,目标是用最少的点覆盖所有区间,每个点至少落在一个区间内。 贪心策略 步骤1:将所有区间按右端点从小到大排序; 步骤2:选择第一个区间的右端点作为第一个选点; 步骤3:依次遍历后续区间,若当前区间的左端点大于已选的最后一个点,则选择当前区间的右端点作为新的选点,重复此 -
第五章
最小重量机器设计问题**是典型的组合优化问题:假设机器由( n )个部件组成,每个部件有( m )个可选供应商,第( i )个部件选第( j )个供应商的重量为( w_{ij} ),要求从每个部件中选一个供应商,使总重量最小。 一、回溯法分析该问题 解空间:是长度为( n )的序列集合( { (x_ -
贪心策略、算法的相关理解
一、选点问题的贪心算法分析 问题定义 给定直线上 n 个闭区间 [a1,b1],[a2,b2],...,[an,bn],选择最少的点,使每个区间至少包含一个选定点。 贪心策略 排序:将所有区间按右端点从小到大排序。 选点:初始化选点 p=b1(排序后第一个区间的右端点),计数 coun -
第四次作业
一、选点问题分析与算法详解 你需要解决的是数轴上的选点问题:给定n个闭区间,选取最少的点使得每个区间内至少有一个点。 贪心策略 将区间按右端点升序排序,遍历区间时选择当前区间的右端点作为选点(仅当当前区间不包含已选点时)。 排序:将所有闭区间按照右端点bi从小到大的顺序进行排序。 选点:初始化一个点 -
实验6
实验6 实验结论: 实验任务1: 源码: contestant.hpp #pragma once #include <iomanip> #include <iostream> #include <string> struct Contestant { long id; // 学号 std::stri -
算法第五章作业
一、回溯法分析最小重量机器设计问题 问题前提:机器包含 n 个部件,每个部件有 m 个供应商可选;wij 是第 i 个部件选第 j 个供应商的重量,cij 是对应成本;要求总成本不超过预算 C,总重量最小。 1.1 解空间 解是一个 n 维向量 X = (x₁, x₂, ... , x n),其中 -
高级语言程序设计第十次作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15596 学号:102500308 姓名:郭心悦 (1)编写一个程序, -
实验六
实验任务1: 源代码: 1 #pragma once 2 #include <iomanip> 3 #include <iostream> 4 #include <string> 5 6 struct Contestant { 7 long id; // 学号 8 std::string name; -
实验6 文件I/O与异常处理
实验任务一: 源代码: #pragma once #include <iomanip> #include <iostream> #include <string> struct Contestant { long id; // 学号 std::string name; // 姓名 std::stri -
实验6
task1 (1) 1 #pragma once 2 #include <iomanip> 3 #include <iostream> 4 #include <string> 5 6 struct Contestant { 7 long id; // 学号 8 std::string name; / -
高级语言程序设计课程第十次个人作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业的要求在:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15596 姓名:黄思哲 学号:102500433 1. 2. 3. 4. -
贪心算法分析选点问题
一、 贪心算法分析选点问题 先明确选点问题标准定义(作业高频考点):给定一条直线上的 $n$ 个点,坐标分别为 $x_1 \le x_2 \le \dots \le x_n$,现需选取若干个点,使得每个点都能被某个选取的点覆盖,覆盖范围为选取点坐标的 $[a, a+1]$ 区间(区间长度固定为1), -
实验六
任务一 contestant.hpp #pragma once #include <iomanip> #include <iostream> #include <string> struct Contestant { long id; // 学号 std::string name; // 姓名 st -
实验6
task1.c task1.c 1 #include <stdio.h> 2 #include <string.h> 3 #define N 3 4 typedef struct student { 5 int id; 6 char name[20]; 7 char subject[20]; 8 d -
第五次作业
1.回溯法的方法分析“最小重量机器设计问题” 1.1 解空间 每个部件有m种选择,有n个部件,考虑所有组合,解空间的大小为mⁿ。 还需要满足约束条件:总价格不超过d。 1.2 解空间树 解空间树是对解空间的树形结构化表示,属于完全m叉树(每个节点有m个子节点),用于遍历所有可能的解。 根节点:第0层 -
算法第五章作业
请用回溯法的方法分析“最小重量机器设计问题” 1.1 说明“最小重量机器设计问题"的解空间 有n个部件,每个部件可以从m个供应商处购买。则解空间有m的n次方个解 1.2 说明 “最小重量机器设计问题"的解空间树 解空间树的层数t为选择的部件t,每个节点有m个分支,代表选择第m个供应商。第n层节点表示 -
实验六
任务一 源代码task1.cpp #include <algorithm> #include <iostream> #include <stdexcept> #include <vector> #include "contestant.hpp" #include "utils.hpp" const