- 博客(6)
- 收藏
- 关注
原创 2019牛客多校第四场A/K
A.给你一张n个点n-1条边的图,和k个关键点。求一个点到所有关键点距离最大值的最小为多少。 乍一看像是对答案二分,但是考虑两个相距最远的关键点,假设他们的距离为d,那么答案肯定为(d+1)/2 如果有一点到中心点的距离超过了(d+1)/2 ,那么这个点会成为最远关键点对中的一个。矛盾。 所以题目就变成了如何求最远的两个关键点的距离。 考虑如何求树的直径,首先取一个根节点通过bfs找到离他...
2019-07-29 20:01:11 217
原创 max answer 和 牛客多校第四场C
max answer 题意:给出一组数,求一个区间(l,r)中所有数之和与这个区间的最小数之积最大 做法:对于每个数a[i], 我们可以求出满足a[i]是最小数的 合法区间左边界l[i] 和 右边界r[i]; 然后对于每个a[i]接下来我们只要求 包含a[i]在内的在范围l[i]到r[i]内 最大子序列和为多少. 对于l[i]和r[i]我们可以通过单调栈求出, 每次加入一个元素的时候如果...
2019-07-28 23:40:30 154
原创 2019牛客第三场(D/F)
D.Big Integer 题意: 当1<=p,n,m<=1e9时 求有多少对满足 做法: 考虑 则 则 Case1(p不为2,5,3) 然后由欧拉定理当p和10的时候有 则我们知道在i为0和p-1时 所以在0~p-1中间有没有可能有一个i=d 满足这个式子 ...
2019-07-26 12:24:58 157
原创 2019杭电多校第一场题解
1004 题意: 给你n+1辆车的车头距离终点的位置和车身长度, 以及每辆车的初始速度, 车子不会加速,当遇到前面一辆车的时候车子会瞬间减速并且和前面一辆速度相等,并且通过了终点线的车辆并不会停下来会继续行驶,问第0辆车的车头到达终点线所需要的总时间。 理解:当第0辆车经过终点线的时候无疑只有两种状态,1.以原来的速度行驶,2.与前面一辆车靠在一起并且以前面一辆车的速度行驶 做法1: 注意...
2019-07-23 23:33:16 260
原创 Educational Codeforces Round 69 D
题意: 求 做法: 可以发现 在m,m*2,m*3 长度的区间内的K是 相等的分别为k ,k*2,k*3 所以我们可以在余数为0~m-1 的位置枚举起点, 然后以每个点作为终点求出cost 然后每到达一个可能为新的起点 维护最小前缀和,将该点作为新的起点或者还是继续作为终点 每次计算得到的cost-维护的最小前缀和便可以得到以i, i+m, i+m*2... 为起点的最大的连续...
2019-07-23 22:09:12 111
原创 2019牛客第二场补题(F/H)
F. 把2*n个人分成 两个人数相等的队伍,每两个人之间都有一个竞争值,当分成两个队伍后,两个队伍之间的竞争值之和最大为多少 做法: 对每个人进行搜索将它放在a或b队里,每放一个人就计算一下当前的竞争值,这样往后搜索的时候就可以利用一下前面的竞争值,避免重复计算,(还有一个小优化,可以把第一个人固定放在第一个队伍里,可以减少一半的状态空间) #include<bits/stdc++....
2019-07-22 00:07:28 166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人