-
高级语言程序设计课程第十次个人作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15596 学号:102500304 姓名:黄燕婷 一 (1)编写一个 -
算法第四章作业
选点问题分析与贪心算法理解 一、选点问题分析 选点问题要求从给定的n个闭区间中选择最少的点,使得每个区间内都至少包含一个点。贪心算法是解决该问题的有效方法。 贪心策略:将区间按照右端点从小到大排序,然后遍历区间,每次选择当前区间的右端点作为标记点。如果后续区间包含该点,则跳过;否则选择新区间的右端点 -
第四章作业
1、以区间选点问题(典型选点问题)为例:问题描述:给定多个区间,选择最少的点,使每个区间至少包含一个点。贪心策略:将所有区间按右端点升序排序;选择第一个区间的右端点作为第一个点;依次遍历后续区间,若当前区间不包含已选点,则选择该区间的右端点,重复此过程。贪心选择性质证明:假设最优解为 S,第一个选中 -
算法第五章作业
最小重量机器问题的回溯法: 解空间:因为要有n个部件组成机器,同时每一种部件有m个商人卖,所以要m个商人买n件东西,解空间就是m^n 解空间树:高度为n+1(一个也不要也是一种策略)的m叉树,根节点什么都没有(没有?没有也算高度哦);第i层节点是已经选了i个物品的情况;叶子节点代表n件东西全部选完了 -
第四章 作业
一、选点问题分析 问题核心:给定若干闭区间,选择最少数量的点,使每个区间至少包含一个选点(区间点覆盖问题)。 贪心策略: 1.按区间右端点升序排序; 2.优先选择当前区间右端点作为覆盖点; 3.若后续区间左端点大于上一选点,选择该区间右端点为新覆盖点。核心逻辑是局部最优(选右端点最大化覆盖后续区间) -
第五次作业
已知: 机器由 n 个部件组成 每个部件可以从 m 个供应商中选择一个 𝑐 𝑖 𝑗 c ij :第 i 个部件从第 j 个供应商购买的价格 𝑤 𝑖 𝑗 w ij :对应的重量 总价格不能超过给定上限 d 目标: 在总价格 ≤ d 的前提下,选择每个部件的供应商,使机器总重量最小。 -
高级程序设计第十次个人作业
这个作业属于哪个课程 <班级的链接> 这个作业要求在哪里 <作业链接> 学号 092300303 姓名 池博洋 @目录编写一个程序,将一个文件的内容复制到另一个文件中。编写一个程序,统计一个文本文件中的字符数。编写一个程序,读取一个文本文件的内容,并在控制台上显示。编写一个程序,向一个文本文件的末尾 -
实验6
实验任务4 #include <stdio.h> #define N 10 typedef struct { char isbn[20]; // isbn号 char name[80]; // 书名 char author[80]; // 作者 double sales_price; // 售价 i -
实验6
task1 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 double perf; 9 -
高级语言程序设计课程第十次个人作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15596 学号 102500336 姓名: 林陈帅 作业内容 (1)编 -
实验6 文件I/O与异常处理
##任务1 ###1.源代码 #pragma once #include <iomanip> #include <iostream> #include <string> struct Contestant { long id; // 学号 std::string name; // 姓名 std::s -
实验六
实验任务1 源代码如下: contestant.hpp 点击查看代码 #pragma once #include <iomanip> #include <iostream> #include <string> struct Contestant { long id; // 学号 std::strin -
算法第五章作业
一、最小重量机器设计问题分析 问题描述 假设我们需要设计一个由n个部件组成的机器,每个部件可以从m个不同的供应商处购买。每个供应商j提供的部件i具有重量w[i][j]和价格c[i][j]。要求在总价格不超过d的情况下,选择供应商使得机器的总重量最小。 输入: n: 部件数量 m: 供应商数量 d: -
第五章作业
对于本题,每个部件i=1,2,...,n,供应商j=1,2,...,m有m个。每个部件可以有m个选择,选n次,因此解空间的大小为mⁿ;本题的解空间树是一棵n 层的 m 叉树,即完全m叉树。 结点:当前处理的部件层数 k:表示已经处理了前k个部件,判断是否到达叶子节点; 当前总价格 sum_c:前k个 -
算法第四章作业
问题分析:选点问题的核心是:在数轴上给定若干闭区间,用最少数量的点覆盖所有区间(每个区间至少包含一个点)。 贪心策略:1、排序:将所有区间按右端点升序排列; 2、选点:初始化选点数量为 0,上一个选点位置为 “无效值”(如 - 1);遍历排序后的区间,若当前区间的左端点 > 上一个选点位置(说明当前 -
算法第四章作业
我对贪心算法的理解很简单:它就是每一步都选当下看起来最好的那个选项,不纠结过去,也不预判未来,一路“一条道走到黑”。 刚学的时候,我总觉得这算法“太草率”,比如找零钱问题,想凑出最少硬币数,贪心就是每次都拿面额最大的(比如凑27元,先拿20,再拿5,再拿2个1),大部分日常场景下能成,但遇到特殊面额 -
算法第四章作业
一、选点问题 贪心策略:按区间右端点升序排序,每次选择当前没有被覆盖的区间中最小的右端点作为选点。 具体步骤: 将所有区间按右端点 bi 从小到大排序,初始化计数器和上一个选点位置:count = 1(至少需要一个点),last_point = 第一个区间的右端点 遍历后续每个区间:如果当前区间的左 -
实验六
任务四 、 #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 -
实验6
task4 1 #include <stdio.h> 2 #define N 10 3 4 typedef struct { 5 char isbn[20]; // isbn号 6 char name[80]; // 书名 7 char author[80]; // 作者 8 double sale -
文件I/O与异常处理
##实验任务一 contestant.hpp #pragma once #include <iomanip> #include <iostream> #include <string> struct Contestant { long id; // 学号 std::string name; // 姓