题意 树的层序遍历的问题,找到结点数最多的一层,输出结点树和对应层号 思路 看到是树层序遍历就立马反应过来用BFS做,可以说是裸模版的题目了 层序遍历在每次扩展状态的时候都是取一层的结点数进行扩展,此时就可以直接比较来找题目要求的解了 代码 #include <algorithm> #include ...
分类:
其他好文 时间:
2020-10-05 21:55:34
阅读次数:
27
题意 问题转化成, 有 \(N\) 堆石子, 博弈双方每次可以选择不超过 \(M\) 堆, 每堆取不超过 \(X\) 个, 总的取石子数至少为一. 问胜利方. 题解 对于单堆来说是一个巴什博弈, \(SG\) 值为石子数模 \(X+1\). 我们回忆 \(M=1\) 时的 \(Nim\) 博弈, 它 ...
分类:
其他好文 时间:
2020-10-05 21:47:14
阅读次数:
26
Flood Fill 可以在线性时间复杂度内找到某个点所在的连通块 1097.池塘计数 链接:https://www.acwing.com/problem/content/1099/ #include <iostream> #include <algorithm> #include <cstring ...
分类:
编程语言 时间:
2020-09-24 00:00:51
阅读次数:
38
方法一:BFS模板的应用。 总结的DFS、BFS模板参考:https://www.cnblogs.com/panweiwei/p/13065661.html class Solution(object): # BFS def kthLargest(self, root, k): """ :type ...
分类:
其他好文 时间:
2020-09-18 00:03:27
阅读次数:
35
题目链接:http://poj.org/problem?id=1050 和序列中无长度限制的最大子段和相同,如果当前的sum>0,那么它还有一定的价值,所以继续往上累加;如果当前sum<0,即sum不仅没有价值,反而会使后面的和更小,所以将sum重置为0为最优。 矩阵中维护每一列上的前缀和,枚举所选 ...
分类:
其他好文 时间:
2020-09-17 23:21:37
阅读次数:
35
题目链接:https://vjudge.net/problem/POJ-2182 题意:n头牛,身高为1到n的一个排列。已知每头牛前面比它矮的个数,求每头牛的身高 这题和习题里的poj2828基本一样。倒着考虑,如果最后一头牛前面有k1个比它矮,那么它的身高就是k1+1。倒数第二头如果有k2个比它矮 ...
分类:
其他好文 时间:
2020-09-17 23:12:01
阅读次数:
30
题目链接 题意:求n个串的公共子串 思路:由于数据比较小,所以可以暴力枚举第一个串的所有子串,进行kmp匹配。 #include<bits/stdc++.h> using namespace std; typedef long long ll; char ans[100]; int Next[100 ...
分类:
其他好文 时间:
2020-09-17 20:43:05
阅读次数:
30
由于是无向无权图,采用BFS 自环对于最短路无影响 重边和其它边对最短路径数的影响是一样的,不用做特别处理 采用dp思想即可统计出1号点到每个点的最短路径数 const int N=1e6+10; vector<int> g[N]; int dist[N]; bool vis[N]; int cnt ...
分类:
其他好文 时间:
2020-09-17 15:36:22
阅读次数:
25
题意:有一个$n$X$m$的图,"#"表示障碍物,"."表示道路,只能向右或向下走,问从左上角走到右下角的方案数. 题解:这题可以用bfs来搞,但dp更简单点吧~~.首先,只有当向右和向下都能走时,方案数才会增加,我们用dp表示从起点走到某个单位的方案数,这个单位只能从左边或上边走过来,所以它的方案 ...
分类:
其他好文 时间:
2020-09-17 14:17:39
阅读次数:
18
hyh大佬很热爱学习,他打算偷偷跑回学校学习,为了多学习他希望可以找最快的路线回到学校。 广州市里有N个(2 <= N <= 1000)个地铁站,编号分别为1..N。zzj家在1号地铁站旁边,五山站是N号地铁站。地铁站之间共有M (1 <= M <= 2000)条双向路径。 hyh现在在1号地铁站, ...
分类:
其他好文 时间:
2020-09-17 12:30:28
阅读次数:
28