
二分
文章平均质量分 73
chp的博客
这个作者很懒,什么都没留下…
展开
-
AcWing 244. 谜一样的牛—树状数组、二分
树状数组用来求前缀和sum(x),二分求解最小的数x,使得sum(x)==k,那么x就是当前第k小的数,然后让f[x]-1,再找下一头牛的高度。这道题挺巧妙的,感觉树状数组方面的题就是比较难想,先分析一下样例,样例中每头牛前面比自己低的牛的数量分别为。牛的高度是1~n的排列,如何分析出每头牛的高度呢,可以考虑从后往前分析。现在每头牛高度的可能性为1,2,3,4,5。每头牛高度的可能性为 2,3,4,5。每头牛高度的可能性为 2,4,5。每头牛高度的可能性为 2,4。每头牛高度的可能性为 2。原创 2023-07-23 18:58:13 · 179 阅读 · 0 评论 -
AcWing 113. 特殊排序—无传递性大小关系二分
这道题可以用二分来解决,因为最多能进行10000次询问,所以询问的时间复杂度应该为。,就是用归并排序来做,我们可以发现归并排序也不需要传递的大小关系。,这道题说大小关系不具有传递性,这是什么意思呢?还有种更简单的做法,而且时间复杂度是。因为类似插入排序,插入算法是。这样的情况也是能进行二分的。这代码的时间复杂度是。原创 2023-07-12 14:17:41 · 243 阅读 · 0 评论 -
AcWing 102. 最佳牛围栏—二分
那么前缀和(>=f个数)的值大于0即可,如果不让每个数减去。这道题还是挺精妙的,分析没看懂可以看代码,应该比较容易理解。是否能取到就行,这里有一个巧妙地方法,我们让每个数减去。这道题是一道比较巧妙的二分+前缀和问题,首先数据有。考虑以某一个位置(>=f)为结尾位置的最大。从小到达遍历,所以可以记录下所有。这里考虑二分方法,二分可能的。是可行的,二分的时间复杂度为。,重点是如何判断当前的。暴力枚举肯定行不通。这表示能够得到当前的。,所以只需要求最小的。原创 2023-07-07 12:46:42 · 189 阅读 · 0 评论