随笔分类 - 算法作业
摘要:题目: 4-1 程序存储问题 (90 分) 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最
阅读全文
摘要:动态规划 本人对动态规划的理解:我认为动态规划其实就是搜索的一种,但更加优美,速度更高。递归的方式就是老师说的备忘录,其实就是记忆化深搜,但本质上就是通过状态转移进行递推,所以能通过迭代的方式求解,当前问题的最优解依赖于子问题的最优解,于是当最小子问题初始化出答案后就可以一步一步往当前问题递推。妙啊
阅读全文
摘要:恢复内容开始 动态规划 三道题,第一道就比较简单,从上到下或者从下到上都可以 递归方程:dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])+a[i][j]; 在dp中,定义很重要,这里的dp【i】【j】表示从最顶端走到第i行第j列的最大和,所以在最底层维护一下答案就行 代码:
阅读全文
摘要:分治法本质上就是将大问题分解成小问题,小问题的解可以合并成问题的解。 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。 我的感想:就像初中课文《走一步,再走一步》,当问题巨大的时候不断分成几个小问题就行,希望我在编程时能实际用上! 二结伴编程的感想 两个人编程,一个为主代码手
阅读全文
摘要:普通二分查找 1 int bs(int L,int R,int x) 2 {//在l到r区间上查找x,找不到就返回-1 3 int l=L,r=R; 4 while(l<=r){ 5 int m=l+r>>1; 6 if(a[m]==x){ 7 return m; 8 } 9 else if(a[m
阅读全文
摘要:代码规范 1.缩进:四格 2.大括号的使用括号: for(;;){ } while(){ } 3.运算符两端加空格 其他:https://blog.csdn.net/freeking101/article/details/78930381 数学之美读后感 (本读后感对应数学之美1.14谈谈数学模型的
阅读全文