随笔分类 - 洛谷网课题解
自己觉得有价值的题的解释
摘要:1,bfs适合状态容易存储的题目,如果状态比较难存储,就难以进行记忆化搜索,必然会难以bfs. (比如听说滑雪这个题你用bfs会死得很难看) 2,但是有些题目会很深(比如网格单源最短路),用dfs会跑死,但是用bfs却很简单。
阅读全文
摘要:一,看题 1,题不难,但是这个马怎么走,着实搞懵我了。 2,转过去就发现,其实变一下dx,dy就ok。 3,除了输出外似乎也没什么坑。 4,其实也是有的,这个步数也是。。。 5,作为一道提高-的搜索题,还是有点东西的。 二,写题 1,先推走的坐标。 2,不谈你全是-1的情况下, 你这个设计的根据出队
阅读全文
摘要:1,按位异或(^) a^b, 如果a,b值相同返回0 如果a,b值不同则返回1. 2, (l+r)>>1,的意思是除以2. 你看这个是二分是不是很明显了? 同理(l+r)<<1,的意思是乘2. 然后还有一个问题就是 如果你2>>1+1,这样会出错的,因为位运算的优先级和普通运算的优先级不一样的。 会
阅读全文
摘要:一,手写队列。 1 struct queue 2 { 3 int maxn=10000000; 4 int first=0,rear=0,a[maxn]; 5 6 void push(int x) 7 { 8 a[++rear]=x; 9 } 10 void pop() 11 { 12 first+
阅读全文
摘要:一,看 1,整个方格图其实可以看做是一些不连通的图。 当然图内部必然是联通的。 2,遍历的技巧没什么。 方格图入队的技巧。。额,是这样的 int gtid(int x,int y) { return x*m+y-1;} *这个函数可以把二维点对压成一维。 *解压时只需要x=id/n,y=id%n+1
阅读全文
摘要:1,为什么bfs要用到队列。 2,对于你可以遍历到的所有状态,先把他们加到一个队列中,然后再去遍历他们。 3,简单说就是先mark,然后在遍历。 4,代码框架 void bfs() { push(..)//把起始状态入队列 while(!empty()){//当队列不为空时候 x=pop(); fo
阅读全文
摘要:1,开了数组后赋值。 2,搞一个死循环。 3,打开任务管理器
阅读全文
摘要:一,看题 1,位于0格可移动到相邻得1格。位于1格可移动到相邻的0格上。 2,从某一格开始可以移动的格子数。(应该不能重复,否则不久循环了。那就意味着我们可以要标记喽?) 3 二,写题 1,你是一次一次弄得。。我怕你好像记忆化不行。 2,果然忘记写了dfs中的 return memory[x][y]
阅读全文
摘要:1,什么的我不懂。 2,标准流,当程序运行的时候,可以通过标准流和外部交互 包括标准输入流stdin,标准输出流,stdout,标准错误流stderr 3,讲的都不怎么懂 4,对拍 确认程序正确性如下。 1,编译 2,测试样例 3,手写几组小规模/特殊结构/边界情况/极限情况 4,对拍,随机生成样例
阅读全文
摘要:1,搜索除了搜索目标和搜索状态以外。 2,还有比较现实的东西比如, 搜索函数的返回值的设置,void 和 int . 看你自己的选择和判断。
阅读全文
摘要:一,看题 1,这个长度怎么算的。 从它自己数,可以走下去的位置。 2,这个题的衣服怎么披上去呀。 3,搜索目标,状态。 肯定要用坐标,不然怎么搜索。 4,在前期还是多写把。 5,我靠这个点还是随机的》 ①循环每个点都来下 ②直接找出最大的点 6,等于咋办》 7,我有点不清楚关于边界性的问题。 8,我
阅读全文
摘要:1,它说我在3956中用的那个,我定义的函数是啥来着?就是每次记录[i][j]位置上的金币数来着。 2,所谓记忆化,就是记录状态的某些属性。 3,记忆化的应用 一个是用来最优化剪枝 二是记录某些状态来使接下来的搜索速度更快。 (因为有些状态是你遍历后才可以得到的) 4,记忆化,本质上是一种时间换空间
阅读全文
摘要:1,记得之前要复习。上次先写的题是数的划分。 虽然我不想说,估计全忘了。复习就当把上次的题写了把。 应该比较稳了。 2,题中的要求。 一,所在的位置必须是有颜色的。(很明显要用bool去涂一遍) 二,方向可以是上下左右四个方向。(肯定要打表不是,记得之前打表打了好几个有表的题) 三,走格子时候,若颜
阅读全文
摘要:1,设计好的枚举顺序可以减少无用状态的遍历。 2,好的枚举顺序可以满足题目中的输出条件。 如某八皇后问题中的要求输出字典序前三的某问题。
阅读全文
摘要:1,对于搜索,我有一个不成熟的想法,这不就是,强化版的for循环吗? 2,反正是搜索,那就先找搜索状态, n,x,n是第几次分,x是分剩下的数。 3,这个我觉得自己努力努力可能可以做出来。 4,首先要排除重复枚举,可以采用不降原则去枚举数。 5,我觉得你应该复习下之前的类型的题目。(P1036 6,
阅读全文
摘要:生日蛋糕 输入的东西,一个是蛋糕的体积,一个是蛋糕的层数, 简言之,我觉得这个就是两个dfs的状态。 一旦越过这两个就得return ,同时这两个东西也参与进去了dfs。 至于题目, 第一个要求是层数越高,高度越小,半径越小。 第二个要求是枚举的面积要最小。 第三个也可以判断为求出的面积是否比之前的
阅读全文
摘要:八皇后问题。 然而重点在于判断斜线attack问题和 剪枝问题, 不过判断斜线这些东西都挺有意思的。 是坐标的思想但是 有不一样, 因为这个棋盘。。 斜线判断是可以理解了。 但是我想知道的是这个的原理是什么,我 我本来觉得这个不是坐标轴。。 但是我错了,简单点,画出一个正常的坐标轴, 左右换一下,上
阅读全文
摘要:当我们看到这道题的时候,我们不仅大吼一声,这不就是搜索嘛。 于是搜索两大刀!搜索目标和搜索状态! 搜索目标:求选数的方案,以及他们的和是否为质数。 搜索状态: 1.从后往前分析目标(或从前往后):和是否为质数,很明显我们可以设计一个参数代表当前选数的和i,至于是否为质数的特判肯定就放到了函数里面了。
阅读全文