题意:https://ac.nowcoder.com/acm/contest/4370 将一棵树切k-1刀分成k棵树,问这k棵树里最大的权值的最小值是多少 思路:https://www.cnblogs.com/ucprer/p/11931263.html 二分最大值。 dfs割子树,每次从下往上切一 ...
分类:
其他好文 时间:
2020-02-20 22:21:05
阅读次数:
150
```cpp #include #include using namespace std; const int M = 10000; const double inf = 1e18; int n , m , h[505] , cur[505] , dep[505] , s , t , tot = 1... ...
分类:
其他好文 时间:
2020-02-20 20:32:53
阅读次数:
55
40. 顺时针打印矩阵 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 class Solution { public: vector<int> res; vector<vector<int> > mp; vector<vector<bool> > vis; int m, n; vo ...
分类:
其他好文 时间:
2020-02-20 17:27:00
阅读次数:
96
给一张无向图,要求你用黑白灰给点染色,且满足对于任意一个黑点,至少有一个白点和他相邻;对于任意一个白点,至少有一个黑点与他相邻,对于任意一个灰点,至少同时有一个黑点和白点和灰点与他相邻,问能否成功 Solution 显然灰色是多余的 首先考虑什么样的情况是不行的,显然仅在有孤立点的时候会挂,而连通图 ...
分类:
其他好文 时间:
2020-02-20 15:05:22
阅读次数:
77
In a given 2D binary array , there are two islands. (An island is a 4 directionally connected group of s not connected to any other 1s.) Now, we may c ...
分类:
其他好文 时间:
2020-02-19 23:40:26
阅读次数:
85
之前,我简略的讲了讲dfs相关的事(见https://www.cnblogs.com/chen-1/p/12328832.html)。 接下来,我要简单说一下有关另一种搜索方式——广搜(广度优先搜索),也就是bfs。但首先要明白,bfs与dfs有什么区别。 很明显,它们的搜索方式不同。顾名思义,广搜 ...
分类:
其他好文 时间:
2020-02-19 22:25:10
阅读次数:
80
传送门 我们正常的建好Trie后求一遍fail。之后对于每一个节点,从它的fail连向它一条单项边。然后从根节点开始dfs。 记sum[i]代表从根到i号节点所代表的的字符串出现的次数,即该点的权值。 设当前的节点为x,他有一个孩子y,则使sum[x] += sum[y]。 记得记录一下每个字符串结 ...
分类:
其他好文 时间:
2020-02-19 21:03:48
阅读次数:
58
题目链接: "P5536 【XR 3】核心城市" 这题是某次月赛题。 这题我完全是看标签猜的。 优先选择直径中点即可,这里重要的是互通,很容易想到用堆维护可选的,预处理直径和距叶节点距离即可(最近),实质上是将无根树转化为以中点为根的有根树。 发现第二次$dfs$处理的$deg[]$只有直径一侧不是 ...
分类:
其他好文 时间:
2020-02-19 20:44:22
阅读次数:
65
思路: 先把地图二维字符数组存进去之后,遍历寻找到一个‘y’,然后我们可以设置一个八个方向的方向数组,让‘y’的坐标,遍历加上方向坐标,找到’i‘然后沿着这个方向,dfs下去,每次寻找到正确的,然后建立一个结构体存下点的坐标,然后设置bool数组标记坐标位置,最后再遍历输出,当bool数组为true ...
分类:
其他好文 时间:
2020-02-19 16:55:58
阅读次数:
55
链接:https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/ 思路: dfs 代码: class Solution { public: int get_single_sum(int x) { int s= 0; whi ...
分类:
其他好文 时间:
2020-02-19 16:51:16
阅读次数:
68