网站建设的中期检查表,wordpress 爬虫 视频教程,南昌哪里做网站,英文网站如何做关键词P1873 [COCI2011-2012#5] EKO / 砍树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
这个题就是给新手练手的#xff0c;在那个位置上在进行#xff0c;寻找合适的砍树高度#xff0c;下面在介绍一个二分查找的模板
int binarySearch(vectorint nums, int t…P1873 [COCI2011-2012#5] EKO / 砍树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
这个题就是给新手练手的在那个位置上在进行寻找合适的砍树高度下面在介绍一个二分查找的模板
int binarySearch(vectorint nums, int target) {int left 0;int right nums.size() - 1;while (left right) {int mid left (right - left) / 2;if (nums[mid] target) {return mid; // 找到目标值返回索引} else if (nums[mid] target) {left mid 1; // 目标值在右半部分更新左边界} else {right mid - 1; // 目标值在左半部分更新右边界}}return -1; // 没有找到目标值
}
#includebits/stdc.h
using namespace std;
long long n,m,tree[100000010],l,r,mid;
int main()
{scanf(%ld%ld,n,m);for(long long i1;in;i){scanf(%lld,tree[i]);rmax(tree[i],r);}while(lr){mid(rl)1;long long temp0;for(int i1;in;i){if(tree[i]mid){temptree[i]-mid;}}if(tempm){rmid-1;}else lmid1;}printf(%lld,r);return 0;
}
这个代码的奇特之处在于这个temp的更新不断的在中间位置靠拢虽然这个也是二分查找的思想但是在这本蒟萝也想了好久