-
高级程序设计第十次个人作业
这个作业属于哪个课程 <班级的链接> 这个作业要求在哪里 <作业链接> 学号 092300303 姓名 池博洋 @目录编写一个程序,将一个文件的内容复制到另一个文件中。编写一个程序,统计一个文本文件中的字符数。编写一个程序,读取一个文本文件的内容,并在控制台上显示。编写一个程序,向一个文本文件的末尾 -
第四章作业
1、以区间选点问题(典型选点问题)为例:问题描述:给定多个区间,选择最少的点,使每个区间至少包含一个点。贪心策略:将所有区间按右端点升序排序;选择第一个区间的右端点作为第一个点;依次遍历后续区间,若当前区间不包含已选点,则选择该区间的右端点,重复此过程。贪心选择性质证明:假设最优解为 S,第一个选中 -
算法第五章作业
最小重量机器问题的回溯法: 解空间:因为要有n个部件组成机器,同时每一种部件有m个商人卖,所以要m个商人买n件东西,解空间就是m^n 解空间树:高度为n+1(一个也不要也是一种策略)的m叉树,根节点什么都没有(没有?没有也算高度哦);第i层节点是已经选了i个物品的情况;叶子节点代表n件东西全部选完了 -
高级语言程序设计课程第十次个人作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15596 学号:102500304 姓名:黄燕婷 一 (1)编写一个 -
算法第四章作业
选点问题分析与贪心算法理解 一、选点问题分析 选点问题要求从给定的n个闭区间中选择最少的点,使得每个区间内都至少包含一个点。贪心算法是解决该问题的有效方法。 贪心策略:将区间按照右端点从小到大排序,然后遍历区间,每次选择当前区间的右端点作为标记点。如果后续区间包含该点,则跳过;否则选择新区间的右端点 -
算法第四章作业
1.请分析作业的"选点问题",说明你的贪心策略,证明你的算法满足贪心选择性质,并给出时间复杂度分析 贪心策略:按照区间的右端点从小到大排序,然后每次选择结束时间最早且不与已选区间重叠的区间 证明:假设最优解O = {O1, O2, ..., Ok}的第一个区间是O1, (按结束时间从小到大排序)。若 -
第四章作业
include include include using namespace std; int main() { int n; cin >> n; vector<pair<int, int>> intervals(n); for (int i = 0; i < n; ++i) { cin >> i -
算法第四章作业
我对贪心算法的理解很简单:它就是每一步都选当下看起来最好的那个选项,不纠结过去,也不预判未来,一路“一条道走到黑”。 刚学的时候,我总觉得这算法“太草率”,比如找零钱问题,想凑出最少硬币数,贪心就是每次都拿面额最大的(比如凑27元,先拿20,再拿5,再拿2个1),大部分日常场景下能成,但遇到特殊面额 -
算法第四章作业
问题分析:选点问题的核心是:在数轴上给定若干闭区间,用最少数量的点覆盖所有区间(每个区间至少包含一个点)。 贪心策略:1、排序:将所有区间按右端点升序排列; 2、选点:初始化选点数量为 0,上一个选点位置为 “无效值”(如 - 1);遍历排序后的区间,若当前区间的左端点 > 上一个选点位置(说明当前 -
高级语言程序设计课程第十次个人作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15596 学号:102500309 姓名:郑睿杰 1.目的:编写一个程 -
高级语言程序设计课程第十次个人作业
这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15596 学号:102400120 姓名:林严泽 1 2 3 4 5 6 7 总结:本次作业练习了文件的使用。 -
第五次作业
一、最小重量机器设计问题的回溯法分析 最小重量机器设计问题:给定n个部件、m个供应商,每个部件选一个供应商,总价格不超过d时求最小重量并记录供应商 1.1 最小重量机器设计问题的解空间 解空间是问题所有可能解的集合。 对于该问题:机器由n个部件组成,每个部件i(1≤i≤n)可以从m个供应商(1≤j≤ -
算法第五章作业
一、最小重量机器设计问题分析 问题描述 假设我们需要设计一个由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个 -
算法第四章作业
一、选点问题 贪心策略:按区间右端点升序排序,每次选择当前没有被覆盖的区间中最小的右端点作为选点。 具体步骤: 将所有区间按右端点 bi 从小到大排序,初始化计数器和上一个选点位置:count = 1(至少需要一个点),last_point = 第一个区间的右端点 遍历后续每个区间:如果当前区间的左 -
文件I/O与异常处理
##实验任务一 contestant.hpp #pragma once #include <iomanip> #include <iostream> #include <string> struct Contestant { long id; // 学号 std::string name; // 姓 -
实验6 文件I/O与异常处理
任务1 contestant.hpp #pragma once #include <iomanip> #include <iostream> #include <string> struct Contestant { long id; std::string name; std::string ma -
高级语言程序设计课程第十次个人作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15596 学号:102300120 姓名:覃俊源 一、编写代码 1) -
算法第四章作业
1.贪心策略:先把所有区间按照右端点从小到大排序,之后按顺序逐个检查每个区间,如果当前区间没有被上一个选好的点覆盖,就在这个区间的右端点位置选一个新点。 证明:每一步选择未被覆盖区间的右端点是局部最优解,这个点能覆盖后续区间,最优解中存在覆盖当前区间的点,将这个点替换为选的右端点,也能覆盖所有区间而 -
第五次作业
用回溯法分析最小重量机器设计问题 假设有 n 个部件,每个部件可以从 m 个供应商处购买。已知:第 i 个部件从第 j 个供应商购买的价格 c[i][j],第 i 个部件从第 j 个供应商购买的重量 w[i][j],要求选择每个部件的一个供应商,使得: 总价格不超过预算 d,总重量最小。 1.1 解