摘要: 链接 阅读全文
posted @ 2022-09-11 16:40 nnd昵称被使用? 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 递推:动态规划的基本方法,说白了就是在知道i-1项的值的前提下,计算第i项的值 记忆化搜索:与递推相比记忆化搜索则是另外一种思路,它是直接计算第i项,需要用到第 j 项的值( j < i)时去查表,如果表里已经有第 j 项的话,则直接取出来用,否则递归计算第 j 项,并且在计算完毕后把值记录在表中 阅读全文
posted @ 2022-09-26 10:45 nnd昵称被使用? 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 方法1广搜: 送(1,1)开始逐个点bfs,先判断是否越界,然后若符合条件则标记为1,计数器++; 全部搜一遍后,输出计数器; 代码: #include<bits/stdc++.h> using namespace std;typedef pair<int, int> PII;const int N 阅读全文
posted @ 2022-09-12 14:30 nnd昵称被使用? 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 将数据循环输入,存储在二维数组a中,再用数组b存储当前状态; 然后从(0,0)开始广搜,当遇到1或者到达数组的边界时返回,否则标记此位置(变为1) 然后递归,直到圈外都被标记过 此时除了圈内(要输出2的位置)外,全为1; 最后输出: 若此点为1则输出b数组的状态; 否则输出2; 代码: #inclu 阅读全文
posted @ 2022-08-25 07:52 nnd昵称被使用? 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 输入n; 要求n的全排列,我们可以转化为: 1+(1~n中除了1之外所有数的全排列) 2+(1~n中除了2之外所有数的全排列) 3+(1~n中除了3之外所有数的全排列) 。 。 。 m+(1~n中除m了之外所有数的全排列) 而括号内的全排列也可以用相同的方式转化; 直到括号内只剩一个数(全排列只有一 阅读全文
posted @ 2022-08-23 14:34 nnd昵称被使用? 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 运用二分策略 先写函数确定距离,然后看要搬的石头数满足题意吗。距离确定后,把间距小于确定距离的需要全部搬走。 然后向左或向右再找更小或大的距离 每次都检查是否能仅移走m块岩石使得所有跳跃距离均大于等于mid 最后输出 代码: #include<bits/stdc++.h>using namespac 阅读全文
posted @ 2022-08-22 19:54 nnd昵称被使用? 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 贪心算法在解决问题的策略上是根据当前已有的信息做出选择 贪心算法并不是从整体最优考虑,它所做出的选择只是局部最优。 例: [2007年NOIP普及组] 纪念品分组 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行 阅读全文
posted @ 2022-08-16 19:32 nnd昵称被使用? 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 递归,能够大大简化代码量,是许多重要算法实现的基础方法,比如快排,深搜等,经常是自上而下;递推,既是数学,又是算法,也是递归的一中应用,往往是自下而上,是DP实现的基础方法。 如给出一棵二叉树的中序与后序排列,常用递归求出它的先序排列。 阅读全文
posted @ 2022-08-15 20:08 nnd昵称被使用? 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 输入每个地毯的位置大小,用二维数组存储 然后输入指定的点 枚举出此点所在地毯(四个顶点上的点也算被地毯覆盖) 输出地毯编号(若此处没有被地毯覆盖则输出-1) 代码: #include<iostream>#include<cstdio>using namespace std;int main(){ i 阅读全文
posted @ 2022-08-14 20:25 nnd昵称被使用? 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 首先输入系数 根据提示:三个实根之差绝对值均>=1......求解 最后输出三个实根 代码: #include<iostream>#include<cstdio>#include<math.h>using namespace std;int main(){ double i,a,b,c,d; cin 阅读全文
posted @ 2022-08-14 20:00 nnd昵称被使用? 阅读(14) 评论(0) 推荐(0) 编辑