摘要: 题意 给出n个点m条边的无向图。 每条边有两个权值a,b; 问在保证从1到n的路径a权值和小于x时,路径上b权值最大值最小为多少。 (n≤10000,m≤50000,x≤1000000000) 题解 二分x,然后跑最短路判断。 1 #include<iostream> 2 #include<cstr 阅读全文
posted @ 2018-08-03 22:12 Xu-daxia 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 题解 二分时间 然后一个显然的事是一个军队向上爬的越高它控制的点越多 所以首先军队尽量往上爬。 当一个军队可以爬到根节点我们记录下它的剩余时间T和它到达根结点时经过的根节点的子节点son。 当一个军队爬不到根节点时我们就让它控制它可以爬到的最高点。 然后我们把爬到根节点的军队按T从小到大排序。 然后 阅读全文
posted @ 2018-08-03 20:58 Xu-daxia 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 题解 单调性是当s-y大于0时w越小答案越优,反过来也成立。 所以二分答案。 然后问题是Yi怎么求,最接用前缀和预处理就行了。 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<cmath> 5 #inclu 阅读全文
posted @ 2018-08-03 20:16 Xu-daxia 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 题意 N(2<=n<=200)个城市,M(1<=m<=40000)条无向边,你要找T(1<=T<=200)条从城市1到城市N的路,使得最长的边的长度最小,边不能重复用。 题解 简单的网络流判定。 一看问法想到二分答案。然后边不能重复直接上网络流。 (用边长小于mid的边建图然后跑最大流,最后比较流量 阅读全文
posted @ 2018-08-03 19:59 Xu-daxia 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一个长度为n的序列a1~an,从中选取一段长度在s到t之间的连续一段使其平均值最大。(n<=100000) 题解 二分答案平均值。 judge时把每一个a[i]-mid得到b[i] 在b[i]中找到一段合法的串使其权值和最大。 当最大权值和大于等于0时则mid上移。 求最大权值和用单调队列 阅读全文
posted @ 2018-08-03 15:04 Xu-daxia 阅读(218) 评论(0) 推荐(0) 编辑