随笔分类 - 0----二分
摘要:xg 题意 给你一个树,根节点为1,让你切点一些边使得根节点到达不了叶子节点。 且最小化砍断的道路的最长长度,砍断的道路总和不能超过m。 思路 答案具有单调性,所以明显用二分。 f[x]为x到达不了叶子节点所需要砍断的最短总路径。 对于答案k, 若x到y的距离z大于k(x为父亲,y为儿子),则对于这
阅读全文
摘要:状态压缩好猛啊 题意 给了n个数组,每个输出的长度为m(n<3e5,m<8)。让你选择两个数组a,b。定义数组c,ci=max(ai,bi)。 让c数组的最小值最大。输出两个数组a,b的下标即可。 思路 很明显二分答案1e9。然后问题演变成对于答案x,这n个数组满不满足存在两个数组产生的c数组在每一
阅读全文
摘要:没看出来答案可能的取值区间为一个固定区间。。。大佬还是nb 题意 给两个整数n,k。从n个数挑选k个数,不改变顺序,组成一个新的数组s。 使得偶数(新数组)位置的最大值和奇数位置的最大值的较小值的数最小。 思路 如果对于任意i,ai是答案的话,则满足一个偶数位置(或奇数位置)全小于ai的序列长度大于
阅读全文
摘要:题意:给了n个人,每个人两个属性l,r。表示能拿工资的范围。boss有s元,问最多可以使n人拿到的工资的中位数最大。 思路:分别根据l,r进行两次排序,求出可以二分的区间,然后对于每个中位数,进行二分。ri小于x的人和li大于x的人拿li元(所以在二分前,要排序让li小的在前面),为了让钱更多给其他
阅读全文
摘要:题意:给了m个士兵,每个士兵有个敏捷值。还有k个陷阱,每个陷阱有三个属性,l,r,d。分别为陷阱的位置,接触陷阱的位置,陷阱的难度(如果第i个陷阱未解除,敏捷值小于di的士兵走上去,会死亡)。只有你可以走过任意陷阱,当你走到ri位置,i陷阱解除。士兵只有和你处于同一位置的时候才可以移动,你一次可以移
阅读全文
摘要:碎点 题意:给三个数组,让你从每个数组中各挑一个数满足两两之差的平方和最小。 思路:若想满足两两之和的平方差最小,则满足确定一个数t,其余两个数各是其数组中大于等于t和小于等于t的数。 用lower和--upper即可 #include <iostream> #include <cmath> #in
阅读全文

浙公网安备 33010602011771号