
DFS
文章平均质量分 68
MMMMMMMW
广告太多,已换博客。
https://www.cnblogs.com/MMMMMMMW/
展开
-
Prime Ring Problem (dfs)
Prime Ring ProblemTime Limit: 2000/1000ms (Java/Others)Problem Description: A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and...原创 2018-03-14 20:35:39 · 215 阅读 · 0 评论 -
最长公共子序列(LCS)
简单来说,就是求两个字符串的最长公共子序列这里加上个知识点子序列:可以不连续,比如a b c d 中的a c d 就是子序列子串:必须连续思路:建立一个数组dp[i][j],表示第一个数组从第一个元素到第i个元素,第二个数组从第一个元素到第j个元素,这两个区间的最大公共子序列。这样,首先把dp[0][j]和dp[i][0]都定义为0,因为第0个位置的最大公共子序列肯定是0吧?然后就是遍历了,两重遍...原创 2018-04-06 11:45:39 · 202 阅读 · 0 评论 -
POJ 2533——最长上升子序列
思路:建立一个dp[i]数组,i表示一个子序列中最后的一个元素(也是最大的一个元素)。然后循环两次,时间复杂度O(n^2),详见下面AC代码例题:POJ 2533代码:#include <cstdio> #include <iostream>#include <algorithm>#include <cmath>#include <c...原创 2018-04-06 13:34:28 · 307 阅读 · 0 评论 -
P1219 八皇后(dfs)
题目描述检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列2 4 6 1 3 5来描述,第i个数字表示在第i行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 3 5这只是跳棋放置的一个解。请编一个程序找出所有跳棋放置的解。并把它们以上面的序列方法输出...原创 2018-04-22 23:05:56 · 521 阅读 · 0 评论 -
DFS和BFS易错点记录——POJ 3669Meteor Shower
记录一下错误点:判重必须立即判重,而不是等到使用的时候再判重刚刷了一道题,一直超时,找了很久bug才找到在BFS中,插入队列后就必须立即判重,如果在退出队列后再判重,期间会有很多次重复插入,导致超时,DFS同理 Meteor ShowerTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 68...原创 2018-07-17 16:13:23 · 343 阅读 · 0 评论 -
容斥原理——二进制枚举与dfs
容斥原理对于两个集合,对于三个集合,以此类推即可,上式很好理解的对于容斥原理,可以用二进制枚举,当然dfs也行,这两个复杂度差不多二进制枚举对于一个二进制数,每一位只有1和0两种情况,对应着取与不取举个例子,一共有5件物品,那么最大值就选择(1<<5)-1 = 11111 = 31,如果从00001枚举到11111,也就是1---31,就能把所有情况都枚举出...原创 2018-10-15 11:23:45 · 798 阅读 · 0 评论