摘要:
1. 你对回溯算法的理解 回溯法,就是按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。而满足回溯条件的某个状态的点称为“回溯点”。 2. 你学习《算法分析与设计》课程的收获 学习算法这门课程后,我对算法这个词有了更深的了解。我知道了合理利用某些 阅读全文
摘要:
1.你对贪心算法的理解 贪心算法的基本概念是在对问题求解时,总是做出在当前看来是最好的选择。然而在解决问题的过程中,看似正确的贪心,却也有可能被推翻,所以这点要特别注意。 2.请选择一道作业题目说明你的算法满足贪心选择性质 程序储存问题要求存储最多程序数,所以我们的贪心策略是每次都存储最小的程序,这 阅读全文
摘要:
1.1 根据最优子结构性质,列出递归方程式 dp[i]表示以a[i]为结尾的最长子序列,因为必包含自己,所以均初始化为1。 dp[i]=max(dp[j],dp[i]-1)+1; 1.2 给出填表法中表的维度、填表范围和填表顺序。 表的维度是1,填表范围为1-n,填表顺序为从左往右。 1.3 分析该 阅读全文
摘要:
实践题目名称:派 问题描述:给定两个整数n和f,分别代表派的数量,f+1表示需要分得派的人数。随后给出每个派的体积,要求每人分得的派体积相同,且分得的派只能来自一个派,求每人所能分得的最大派的体积。 算法描述:我们可以得知分得的派体积在(0,最大派体积]之间,因此,我们可以采用二分法一步步找到最优的 阅读全文
摘要:
1.请谈一下你对分治法思想的体会 分治法,顾名思义,就是把问题分成多个相同的子问题,分别进行处理,最后再把所得的结果总和。相比起处理一个庞大的问题,分治法显得更为灵活。 2.结对编程情况汇报 在老师所给的时间里,我们两人并未解决这道问题。最开始是想着投机取巧,写个sort函数直接找出来就完事,但老师 阅读全文
摘要:
#include <algorithm> fill(a,a+n,要填充的内容);//一维数组 fill(a[0],a[0]+505*505,-100);//二维数组 与memset的区别: memset是按照字节来填充的,所以一般用来填充char型数组,也经常用于填充int型的全0或-1的操作。 f 阅读全文
摘要:
1.头文件#include<cstring> 2.给字符数组赋值 char s[30]="heililanmama"; cout<<s<<'\n';//输出heililanmama memset(s,!,sizeof(s)); cout<<s<<'\n';//输出!!!!!!!!!!!!!!!!!! 阅读全文
摘要:
“vector是C++标准模板库中的部分内容,中文偶尔译作“容器”,但并不准确。它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。”来 阅读全文
摘要:
一.编码规范 编码规范,是指在编写程序时,要遵循规则来规范自己的代码。同时,要注意代码的正确性、稳定性、可读性。要避免使用不易理解的数字,可以用有意义的标识来替代。 这学期,我选择遵循的是谷歌的编码规范,网址如下:https://zh-google-styleguide.readthedocs.io 阅读全文