上一页 1 ··· 7 8 9 10 11
摘要: 这是一道比较易懂的dfs(递归)题(虽然我一开始只得了22分)……22分代码如下: 我我我一开始只是单纯的考虑,如果能先确定y属于x,那么再找出什么属于y就可以了。但是其实并没有那么容易实现,因为我只是找到k属于y,但是对于谁属于k,又不能继续讨论(递归很重要),所以WA。 正确代码如下: #inc 阅读全文
posted @ 2018-11-27 18:59 paopo 阅读(135) 评论(0) 推荐(1) 编辑
摘要: 一道bfs,只不过有一点小小的不同qwq… 简单解释,移动的距离由你所在位置的数的大小决定,而且 (:3)...... 这道题介绍几个技巧: 1.首先,对于bfs跑图经常用到的xx[],yy[],里面肯定不能放移动的距离,因为移动距离不固定。但是其实我们可以就写1,-1,这样只要在移动的时候用xx[ 阅读全文
posted @ 2018-11-27 18:54 paopo 阅读(198) 评论(0) 推荐(2) 编辑
摘要: 只适用于无向图,而且复杂度有点高O(n^3),但是我还是蛮喜欢这个算法的qwq…… 简单易懂(或许这就是喜欢的原因>\\\<),就只给代码啦~ -^- 小注解: k可以理解为点,每一次只要考虑这个点有没有对现有的最优答案有益即可。 阅读全文
posted @ 2018-11-26 19:41 paopo 阅读(143) 评论(0) 推荐(1) 编辑
摘要: 记得写过线段树含lazy,这个就是小儿科了,就只奉上代码啦~ ^0^ 阅读全文
posted @ 2018-11-26 19:32 paopo 阅读(119) 评论(0) 推荐(1) 编辑
摘要: 其实这个问题蒟蒻感觉,就是模拟,只不过,在模拟之前需要一些预处理。 先谈谈倍增,其实就是对于寻找公共祖先,如果深度差距太大,就需要进行很多没有必要的计算:比如要跳4步,一步一步跳要4次,而我四步四步跳只要一次(当然有人人为我这么说太凑巧了,这里只是为了说明问题,并不是真实情况),那如果数据再大一点呢 阅读全文
posted @ 2018-11-26 19:28 paopo 阅读(189) 评论(0) 推荐(1) 编辑
摘要: 线段树的写法,主要就分三大部分,也就是三个函数:建树(build)、操作(update),以及询问(query)。 此代码为区间修改,区间查询。 首先建树: 每一次将已有区间分为两部分,直到区间中剩下一个元素(为研究方便,假装存在这样的区间)。对于判断,只要(L==R)成立即可,此时便直接赋值,并返 阅读全文
posted @ 2018-11-26 19:07 paopo 阅读(300) 评论(0) 推荐(1) 编辑
摘要: 这个算法,即无向图最短路,复杂度大约是O(nm),n是点数,m为边数。相比Floyd,这个东东的确会快一点,但是也有它的局限性(qwq)。具体表现为,Floyd能求任何两点之间的最短路,即维护数组d[i][j],便为i到j的最短路,但复杂度为O(n^3);而Dj为维护c[i],表示固定起点s,到i的 阅读全文
posted @ 2018-11-26 13:26 paopo 阅读(190) 评论(0) 推荐(1) 编辑
摘要: 主要思想: 首先对边进行排序(小到大)。对于所有的边,分为已选和未选两大集合。每一次从还没有选择的边中选出一条最短的(之前已经sort(cmp)过了),判断之前是否已经将这条边连接的点加入已选集合:若已经加入,则一定是更小的边(已经sort);否则,将这条边加入已选集合,直到所有的点都被连接。 那么 阅读全文
posted @ 2018-11-26 13:05 paopo 阅读(110) 评论(0) 推荐(1) 编辑
上一页 1 ··· 7 8 9 10 11