摘要: ###概念 广搜,即广度优先搜索(BFS)是连通图的一种遍历策略。它的思想是从一个顶点V0开始,辐射状的优先遍历其周围较广的区域。 连通图示意图 可以看出从V0到V6的最短路径是V0->V2->V6 自己是怎么找到这条最短路径的? ——首先看跟V0直接连接的节点V1,V2,V3.发现没有V6进而再看 阅读全文
posted @ 2023-02-01 23:43 wustRen 阅读(269) 评论(0) 推荐(0)
摘要: ###算法过程 void dfs(状态A) 判断当前的状态是否合法,合法则继续执行,否则回到上次调用 先走下一层,也就是调用dfs(A+变化量) 深搜其实就是一条路走到黑,走不通了再回头的方法 ###例一:将1,2,3,4,5全排列 思路: 1,可以使用n重for循环(暴力搜索法) 2,递归思想,转 阅读全文
posted @ 2023-02-01 01:05 wustRen 阅读(67) 评论(0) 推荐(0)
摘要: ##离散化 适用范围:数组中元素值域很大但个数不多 比如将a[] = [1 , 3 , 100 , 3000 , 500000 ]映射到[1 , 2 , 3 , 4 , 5] 这个过程就叫离散化 基本步骤(如何实现离散化) 开一个辅助数组(alls[])把要离散的数据存下来; 排序; 去重, 保证相 阅读全文
posted @ 2023-01-31 00:36 wustRen 阅读(45) 评论(0) 推荐(0)
摘要: ##二分思路 ##二分模板 ###整数二分 bool check(int x) {/* ... */} // 检查x是否满足某种性质 // 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用: int bsearch_1(int l, int r) { while (l < r 阅读全文
posted @ 2023-01-29 17:20 wustRen 阅读(78) 评论(0) 推荐(0)
摘要: ##归并排序的思路 1.将整个区间分为两个子区间 即[L , R]=> [L , mid] + [mid + 1 , R] 2.递归排序[L , mid] 和 [mid + 1 , R] 3.归并,将左右两个有序序列合并为一个有序序列 ##归并排序模板 void merge_sort(int q[] 阅读全文
posted @ 2023-01-29 15:51 wustRen 阅读(32) 评论(0) 推荐(0)
摘要: #NOPI2010机器翻译 ###描述 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没 阅读全文
posted @ 2023-01-11 15:05 wustRen 阅读(141) 评论(1) 推荐(1)