
二分
二分
_lizi_
保持很多的热爱,和一点点野心。
展开
-
Week4 作业C TT的神秘礼物 二分答案 尺取
题意: 有n个数的数组cat(3<=n<=10^5,cat[i]<=10^9),构造一个新的数组ans,ans[]=abs(cat[i]-cat[j])(i!=j),试求出这个新数组的中位数,中位数为排序后pos=(len+1)/2位置的数。 题目分析: 最直接的方法是将ans数组求出来然后排序,复杂度为O(n^2),无法接受。 二分枚举答案,共有logn种答案。对于每一...原创 2020-03-19 20:18:49 · 195 阅读 · 1 评论 -
Week4 作业B 四个数列 二分
题意: 有四个数列A,B,C,D,每个数列都有n个数字(1<=n<=4000,数字不超过2^28),从每个数列中各取出一个数,计算有多少种方案使得四个数的和为0。当一个数列中有多个相同的数时,把它们当做不同的数对待。 题目分析: 如果对A,B,C,D中的每个数枚举一遍,共有n^4中情况,n<=4000显然超时。 减少枚举次数,先枚举A、B,再枚举C、D,两重循环,O(n^...原创 2020-03-19 15:05:56 · 192 阅读 · 0 评论