https://www.nowcoder.com/acm/contest/136#question
所有代码:
https://pan.baidu.com/s/1B0a4CZ6HFev0iwDdtDwBcA
A.
好题
C.
树最长链
两种方法
1 /**
2 同样的遍历,若无特殊要求,用bfs!
3 dfs要保存、返回函数中间状态,
4 dfs比bfs慢不少,如一棵有很多分叉的树。
5
6 题解的方法
7 */
8
9 #include
10 #include
11 #include
12 #include
13 #include
14 #include <string>
15 #include <set>
16 #include
1 /*
2 dp
3 */
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include <string>
10 #include <set>
11 #include
vector
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include <string>
7 #include <set>
8 #include
H.
最小生成树裸题
1 /*
2 最小生成树裸题
3 边少,用Kruskal
4 */
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include <string>
11 #include <set>
12 #include
1 /*
2 最小生成树裸题
3 Prim + 堆优化
4 */
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include <string>
11 #include <set>
12 #include
J.
最短路径裸题
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include <string>
7 #include <set>
8 #include
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include <string>
7 #include <set>
8 #include
J.
可用矩阵快速幂
1 /*
2 t(i)->t(i+1) 一次多元函数 矩阵快速幂是套路
3
4 n个变量和常数,则创建(n+1)*(n+1)的矩阵
5 t(i+1)=t(i)+f(i)
6 f(i+1)=f(i)*k+p
7 见目录图片
8 */
9 #include
10 #include
11 #include
12 #include
13 #include
14 #include <string>
15 #include <set>
16 #include