摘要: dinic 码着 #include<stdio.h> #include<string.h> #include<iostream> using namespace std; const int inf=0x7fffffff; const int N=100000; int head[N]; int l 阅读全文
posted @ 2017-10-23 20:56 探险家Mr.H 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 单调栈 正着插一遍反着插一遍 记录每个点左边右边第一个比他高的。。。 yyc太强辣 #include<iostream> #include<cstdlib> #include<algorithm> #include<cstdio> #include<cmath> #include<cstring> 阅读全文
posted @ 2017-10-23 19:34 探险家Mr.H 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 给出一个N个点的树,找出一个点来,以这个点为根的树时,所有点的深度之和最大 n<=1000000 发现当根从某个位置移到它的一个子树时只要O1的时间就可以果断得出ans 所以大概就一个dfs完事 #include<iostream> #include<cstdlib> #include<algori 阅读全文
posted @ 2017-10-23 19:04 探险家Mr.H 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 给定一个n个点m条边的图,每条边有黑白两色,求出恰好含need条白边的最小生成树 最小生成树。。。仿佛并没有什么dp的做法 大概还是个kruskal的板子再加点什么东西 考虑到“恰好含need条白边”我们可以用一点小技巧让kruskal“少选白边”或者“多选白边” 再看一眼数据范围 E<=100 好 阅读全文
posted @ 2017-10-23 17:33 探险家Mr.H 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 给定一个无向有权图,首先一个最小生成树 MST,从 MST 中选取一个度数大于 1 的点 作为根 K,使每颗子树及该子树到根的边权之和方差最小。输出 K 和最小方差的值。 对于60%的数据:3 ≤ N ≤ 2,000,N-1 ≤ M ≤ 50,000 对于100%的数据:3 ≤ N ≤ 40,000 阅读全文
posted @ 2017-10-23 16:40 探险家Mr.H 阅读(497) 评论(0) 推荐(0) 编辑