双向dfs可以把2^n的复杂度变为(1+x)*2^(n/2)(我不太确定x是多少,我认为应该是n/2,但是貌似其他人不是这么说的) 思路:把需要枚举的值拆成两半,第一遍dfs处理出前一半中所有的可能情况记录在一个数组里,排序、去重,第二遍dfs搜索后一半每得到一个部分解就到数组中寻找相应的最优的另一 ...
分类:
其他好文 时间:
2020-10-30 12:57:13
阅读次数:
19
use 3D version to calculate how much water the model can contain this problem need use dfs,from the edge part which mustn't be answer,for the edge can ...
分类:
移动开发 时间:
2020-10-29 10:06:29
阅读次数:
25
题目描述 编写函数,实现许多图片编辑软件都支持的「颜色填充」功能。 待填充的图像用二维数组 image 表示,元素为初始颜色值。初始坐标点的横坐标为 sr 纵坐标为 sc。需要填充的新颜色为 newColor 。 「周围区域」是指颜色相同且在上、下、左、右四个方向上存在相连情况的若干元素。 请用新颜 ...
分类:
其他好文 时间:
2020-10-26 11:46:12
阅读次数:
26
7-9 小字辈: 开始使用并查集暴力做的,结果超时。 正确思路: 用嵌套的vector存储每个人的下一辈有谁,之后记录祖宗,再dfs。 之前学STL的时候没学vector,之前学习的dfs也差不多忘了,通过这道题再复习了一下。 代码如下: #include<bits/stdc++.h> using ...
分类:
其他好文 时间:
2020-10-26 11:18:47
阅读次数:
82
1. 深度优先遍历 使用场景:常见于各种组合,树遍历,前序遍历、中序遍历、后续遍历 private void dfs(int[] arr, int target,int begin, Deque<Integer> path, Set<List<Integer>> res) { if ( path.s ...
分类:
编程语言 时间:
2020-10-26 10:56:27
阅读次数:
26
这个题目有好多人倍增求LCA会被卡成80分(包括第一次提交的我,然后,我在万神的教导下,使用了优化版的倍增,直接水过去了.....跑得还挺快,最大点700ms(没有优化前1500ms),好吧其实还是卡过去的,用了快读快写,不过这里优化的倍增求LCA还是值得拿起小本子记录一下的哈哈) Code: #i ...
分类:
其他好文 时间:
2020-10-26 10:36:11
阅读次数:
18
剑指 Offer 13. 机器人的运动范围 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能 ...
分类:
其他好文 时间:
2020-10-22 22:53:45
阅读次数:
26
问题1:char、varchar的区别是什么?varchar是变长而char的长度是固定的。如果你的内容是固定大小的,你会得到更好的性能。 问题2: TRUNCATE和DELETE的区别是什么?DELETE命令从一个表中删除某一行,或多行,TRUNCATE命令永久地从表中删除每一行。 问题3:什么是 ...
分类:
数据库 时间:
2020-10-22 22:34:11
阅读次数:
31