首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Cell的前端专栏

    广

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

    88220编辑于 2022-02-25
  • 来自专栏程序编程之旅

    HDOJHDU 1015 Safecracker()

    v - w^2 + x^3 - y^4 + z^5 = target “For example, given target 1 and letter set ABCDEFGHIJKL, one possible solution is FIECB, since 6 - 9^2 + 5^3 - 3^4 + 2^5 = 1. THEQUICKFROG 0 END Sample Output LKEBA YOXUZ GHOST no solution 上个我用枚举做了,感觉不怎么好,毕竟是练算法的,就试试了 从里面选5个字母v,m,x,y,z(不重复),计算v-m^2+x^3-y^4+z^4是否等于目标值 选出来的方案可能有很多种,那么你应该选择字典序最大的那种。 i; break; } }else if(j==3)

    55720发布于 2021-01-21
  • 来自专栏程序编程之旅

    HDOJ1518Square

    Sample Input 3 4 1 1 1 1 5 10 20 30 40 50 8 1 7 2 6 4 4 3 5 Sample Output yes no yes [1010],vis[1010],len; bool cmp(int a,int b) { return a>b;//从大到小排序 } void dfs(int a1,int a2,int a3) //(0,0,1) { if(a1==3)/**只需要筹齐3次,那么剩下的一定能够成len长度**/ { su=1; return ; } if(su==1) return ;/**优化时间**/ for(int i=a3; i<=n; i++) { /**对于那些用过的和不符合条件的,for那里可以不扫 ,故从a3开始**/ /**a3前面的对于最初的a2来说一定不符合**/ if(vis[i]==0) { vis[i]=1;

    37520发布于 2021-01-19
  • 来自专栏ypw

    Red and Black(DFS 练习)

    There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of four adjacent tiles. But he can’t move on red tiles, he can move only on black tiles.

    59420发布于 2020-09-11
  • 来自专栏yuyy.info技术专栏

    洛谷1002dfs

    // 洛谷1002dfs.cpp : 定义控制台应用程序的入口点。

    26210编辑于 2022-06-28
  • 来自专栏程序编程之旅

    穷举搜索:回溯与

    dfs(c)//c从0开始 for(v=0;v<8;++v) 如果pos[c]:=v满足条件,dfs(c+1); 退回之后pos[c]:=0; 这跟书上的回溯算法不太一样,因为是采用的方法写的

    82420发布于 2021-01-19
  • 来自专栏算法工程师之路

    和广问题-LeetCode 110、104(DFS, BFS)

    示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 true 。

    1.4K10发布于 2019-10-13
  • 来自专栏用户5305560的专栏

    HDU - 1501 Zipper(dp&

    Sample Input 3 cat tree tcraete cat tree catrtee cat tree cttaree Sample Output Data set 1: yes Data set 2: yes Data set 3: no 题意理解: 给你三个字符串,问你前两个是否能组成第三个串,串中字符顺序不可改变,可拆分。 dp[2][2] = 1; dp[3] [2] = 1; dp[3][3] = 1; 代码行(dp): #include<iostream> #include

    28030发布于 2021-08-11
  • 来自专栏就业 C++ 综合学习

    【刷题】初步认识(DFS)

    dfs算法 深度优先搜索(DFS)是一种常用的搜索算法,它通过尽可能地搜索树的分支,来寻找解决方案。由于其简单和易于实现的特性,DFS成为解决问题的强大工具,尤其是在数据规模较小的情况下。 数据在100以内一般使用DFS 运行原理: DFS算法的核心思想是从一个起点开始,沿着树的边走到尽可能的分支上,然后回溯到之前的分叉点,寻找未探索的分支,对不满足条件的分支进行剪枝。 二叉树中的 我准备了以下题目,我们一起来看看吧: Leetcode 129. 求根节点到叶节点数字之和 家人们!上链接:129.

    29210编辑于 2024-07-09
  • 来自专栏程序编程之旅

    ZOJ(ZJU) 1002 Fire Net()

    …. 2 XX .X 3 .X. X.X .X. 3 … .XX .XX 4 …. …. …. ; dp(map,0,0); System.out.println(time); } } /** * 利用的方法

    44420发布于 2021-01-21
  • 来自专栏IT开发技术与工作效率

    最简单的Java代码

    Java深度优先搜索 static Set<Node> markSet = new HashSet<>(); private static void dfs(Node node){ if (markSet.contains(node)){ return; } System.out.print(node.getName() + "->"); markSet.add(node); for (Node n : node.getChild()) {

    82410发布于 2019-07-18
  • 来自专栏算法其实很好玩

    Day22-图算法-图的和宽

    今天先更一下图算法的基础知识-宽 二 问题来了 Q:给定一个图,给出图的深度优先搜索和宽度优先搜索结果。 ? neighbors.push_back(graph[0]); graph[1]->neighbors.push_back(graph[2]); graph[2]->neighbors.push_back(graph[3] ); graph[3]->neighbors.push_back(graph[4]); graph[4]->neighbors.push_back(graph[3]); int

    1K20发布于 2019-07-15
  • 来自专栏数据结构与算法

    数据结构与算法 | (DFS)与广(BFS)

    (DFS)与广(BFS) 在查找二叉树某个节点时,如果把二叉树所有节点理解为解空间,待找到那个节点理解为满足特定条件的解,对此解答可以抽象描述为: 在解空间中搜索满足特定条件的解,这其实就是搜索算法

    1.7K231编辑于 2023-10-26
  • 来自专栏计算机工具

    深度优先搜索(DFS、)和广度优先搜索(BFS、广

    深度优先搜索(DFS、)和广度优先搜索(BFS、广) 深度优先搜索(简称“”或DFS) 图 1 无向图 深度优先搜索的过程类似于树的先序遍历,首先从例子中体会深度优先搜索。 此时,从 V5 回退到 V8 ,看 V8 是否有未被访问过的邻接点,如果没有,继续回退到 V4 , V2 , V1 ; 通过查看 V1 ,找到一个未被访问过的顶点 V3 ,继续遍历,然后访问 V3 邻接点 4 5 6 7 8 1,2 2,4 2,5 4,8 5,8 1,3 3,6 6,7 7,3 1 2 4 8 5 3 6 7 广度优先搜索 广度优先搜索类似于树的层次遍历。 4 5 6 7 8 1,2 2,4 2,5 4,8 5,8 1,3 3,6 6,7 7,3 1 2 3 4 5 6 7 8 总结 本节介绍了两种遍历图的方式:深度优先搜索算法和广度优先搜索算法 运行结果 13,13 1 2 3 4 5 6 7 8 9 10 11 12 13 1,2 1,3 1,6 1,12 2,13 4,5 7,8 7,10 7,9

    1.8K10编辑于 2024-12-14
  • 来自专栏学习

    穷举vs暴vsvs回溯vs剪枝系列一>

    32700编辑于 2025-01-13
  • 来自专栏全栈程序员必看

    ZOJ1100 状压DP +

    而不会产生等于w if(n == w) { binary[cnt][0] = now; binary[cnt++][1] = nex; return; } dfs(n+2,(now<<2) + 3, (nex<<2) + 3); dfs(n+1,(now<<1) + 1,nex<<1); dfs(n+1,now<<1,(nex<<1) + 1); } int main() { while(scanf

    24710编辑于 2022-07-12
  • 来自专栏数据结构与算法

    P2668 斗地主 贪心+

    在斗地主中,牌的大小关系根据牌的数码表示如下:3<4<5<6<7<8<9<10<J<Q<K<A<2<小王<大王,而花色并不对牌的大小产生影响。每一局游戏中,一副手牌由n张牌组成。 输入输出样例 输入样例#1: 1 8 7 4 8 4 9 1 10 4 11 1 5 1 1 4 1 1 输出样例#1: 3 输入样例#2: 1 17 12 3 4 3 2 3 5 4 10 2 3 3 12 2 0 1 1 3 10 1 6 2 12 1 11 3 5 2 12 4 2 2 7 2 输出样例#2: 6 说明 样例1说明 共有1组手牌,包含8张牌:方片7,方片8,黑桃9 尼玛广323行85分,压行之后57行就A了,,,‘ 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include k++)// k代表顺子的类型,1:单顺 2:双顺 3:三顺 58 { 59 for(int i=3,j;i<=14;++i)// 枚举每一张牌,因为2不能在顺子中出现,所以无视

    2.3K90发布于 2018-04-13
  • 来自专栏程序编程之旅

    HDOJ1181变形课 回溯

    变形课 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 18474 Accepted Submission(s): 6663

    37110发布于 2021-01-19
  • 来自专栏C/C++、数据结构、算法

    DFS:+回溯+剪枝解决组合问题

    vector<vector<int>> ret;//记录组合 vector<int> path;//记录路径 vector<vector<int>> combinationSum3(

    29510编辑于 2024-04-09
  • 来自专栏Java

    二叉树的

    前言: 本章节更深入学习递归 计算布尔二叉树的值 思路: 1.函数头设计:dfs(root) 2.函数体:需要一个接收left 和 right 的值 并且根据root的值进行比较 3.递归出口 如果遇到叶子节点 则判断当前节点是否为0 3.如果为0 则直接返回null 否则不需要剪枝 直接返回原来值 public TreeNode pruneTree(TreeNode root

    23510编辑于 2024-11-20
领券