二分/三分查找
Jerry99s
OI -> ACM -> AI
展开
-
NOIP2011 一元三次方程求解
题目:http://www.luogu.org/problem/show?pid=1024# 分析:二分 代码:#include <cstdio>#include <algorithm>using namespace std;double a,b,c,d;double f(double x){ return a*x*x*x+b*x*x+c*x+d;}void work(do原创 2015-06-13 21:44:22 · 895 阅读 · 0 评论 -
POJ2349 Arctic Network
题目:http://poj.org/problem?id=2349 分析:二分+并查集 代码:#include <cstdio>#include <algorithm>#include <cmath>#include <cstring>using namespace std;const int Tmax=505;const double Q=0.0001;struct edge{原创 2015-09-26 11:22:19 · 264 阅读 · 0 评论 -
NOIP2011 聪明的质检员
题目:http://www.luogu.org/problem/show?pid=1314# 分析: 1. 对于检验值的求解: Yi=j*Σv[j],L[i]< j< R[i]且w[j]>=W; 2. 然后O(nlogw)二分,check()中用前缀和思想快速求Yi=(sumn[R[i]]-sumn[L[i]-1])*(sumv[R[i]]-sumv[L[i]-1]); 3. 注意:该用lo原创 2015-09-11 11:42:52 · 1078 阅读 · 0 评论 -
POJ2932 Coneology
题目: http://poj.org/problem?id=2932 《挑战程序设计竞赛》P258题意: xy平面内给一堆圆,不相交,可以内含; 问所有不被包含的圆是哪些;分析: 计算几何扫描线例题 将圆左右端点的x坐标及圆序号封装到结构体中,以x坐标排序; 按x从小到大扫描; 开一个set:outers记录目前所有最外层的圆; 扫描到圆的左端点,如果不被任何圆包含,则加原创 2018-01-25 14:24:11 · 221 阅读 · 0 评论 -
二分与三分查找
一、二分查找 二分查找很常见了,放一个模板就溜。 时间复杂度 O(logn),log以2为底。 (最后得到的是可行域的闭区间 [l,r] ) while(r>l) { mid=(l+r+1)/2; //注意是l+r+1 if(check(mid)==true) l=mid; el...原创 2018-03-12 10:59:25 · 925 阅读 · 1 评论 -
CFGym 101550F Fleecing the Raffle
分析: 这个题很坑,注意乘除要同时进行,否则精度不够。 三分查找写挫了,贴一个非三分代码。代码:#include <bits/stdc++.h>using namespace std;long long n,p;int main(){ cin>>n>>p; int x=0,i,t1,t2; while((x+1)*...原创 2018-03-12 17:46:34 · 401 阅读 · 0 评论 -
Codeforces 701D. As Fast As Possible (数学or二分)
题目:http://codeforces.com/problemset/problem/701/D 题意: n个人,一段路程为L,走路v1,坐车v2,每车最多坐k人,每人最多做一次车,求所有人到终点的最小时间。 分析: 首先,要想时间最短,所有人应同时到达终点; 那么,每个人的坐车、走路时间都相同。 法一:数学推导 设坐车时间为t,则车辆回头去接新人所花时间为t*(v2-v1)/(v...原创 2018-07-17 21:26:41 · 337 阅读 · 0 评论 -
CFGym 101741A Three Arrays (二分+3指针同时扫)
题目:http://codeforces.com/gym/101741/problem/A题意: 给三个不下降数列; 求满足|ai - bj| ≤ d, |ai - ck| ≤ d, and |bj - ck| ≤ d的方案数(i, j, k) 数据范围5e5分析: 如何不重不漏统计? 对每个方案,只用最小的那个数统计一次; 开3个指针pa、pb、pc; 每次判断a[pa]、...原创 2018-07-28 20:00:08 · 265 阅读 · 0 评论 -
hdu6304 Chiaki Sequence Revisited (2018多校第一场1007) (数列找规律+二分)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6304题意: 求前n项和分析: 先打个表,每个数出现次数如下: 发现,i会出现(累加)__builtin_ctz(i)+1次那么,二分出现最大的数x 再求和即可注意:有的地方是整除2,不能直接乘2的逆元;有的地方不用逆元处理会爆longlong代码:#include ...原创 2018-07-29 16:38:48 · 212 阅读 · 0 评论