二分
moyangxian
总会过去的
展开
-
Gym-102470A Trick or Treat(三分)
题意:在x轴上找出距离所有点的最大距离的最小值。(有点绕,画个图就好理解了)题意:用取所有点的x坐标的最小和最大值,然后三分找极值。(这题的数据很严格,开了long double才过)。#include<iostream>#include<cmath>#include<algorithm>#include<cstdio>using nam...原创 2020-05-02 20:29:23 · 224 阅读 · 0 评论 -
Gym-102397E(二分)
题意:找到一个连续的最短区间,使区间和大于等于x,求这个最短区间的长度。题记:记录下这个数组的前缀和,标记一下前缀和大于等于x的第一个数的下标w,从w遍历到n在从0到i-1之间找一个前缀和s使a[i]-a[s]>=x。每次更新一下最短区间的长度即可。#include<bits/stdc++.h>using namespace std;typedef long long ...原创 2020-04-24 12:54:49 · 176 阅读 · 0 评论 -
浮点数二分
模板:模板来自AcWingbool check(double x) {/* ... */} // 检查x是否满足某种性质double bsearch_3(double l, double r){ const double eps = 1e-6; // eps 表示精度,取决于题目对精度的要求 while (r - l > eps) { d...原创 2020-03-28 16:08:43 · 133 阅读 · 0 评论 -
整数二分
模板:模板来自AcWingbool check(int x) {/* ... */} // 检查x是否满足某种性质// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:int bsearch_1(int l, int r){ while (l < r) { int mid = l + r >> 1; ...原创 2020-03-28 16:05:58 · 229 阅读 · 0 评论