
二分
西瓜不甜不甜不甜
这个作者很懒,什么都没留下…
展开
-
【POJ】1064 - Cable master 浮点数二分
http://poj.org/problem?id=1064有N条绳子,他们的长度分别为Li,如果从它们中切割出k条长度相同的绳子的话,这K条绳子每条能有多长?假定一个解然后判断是否可行。注意输出,保留2位小数并不进位。#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <queue>原创 2017-08-24 20:47:05 · 518 阅读 · 0 评论 -
codeforces 492B - Vanya and Lanterns 二分
http://codeforces.com/problemset/problem/492/Bn个路灯,街道长l,给出n个路灯的坐标,求最小半径d。细节较多 ①只有一盏路灯时, ②多盏路灯时,第一盏和第二盏要特判。 ③由于题目有精度要求,二分要多进行几次。#include <iostream>#include <algorithm>using names...原创 2018-03-06 20:53:47 · 338 阅读 · 0 评论 -
【POJ】3662 - Telephone Lines 二分+最短路
http://poj.org/problem?id=3662一共有N个电线杆,有P对电线杆是可以连接的,现要使得杆1和杆N相连,K条电线可以免费使用的,当使用电线的数量超过K条,超出的电线要收费,收的总费用为去掉免费使用的K条电线之后最长的那条电线的长度。现在需要尽可能的减少费用,问最少费用是多少。解题思路:可以二分搜索出所需费用,这样,对于每一个最小费用‘候选人’,都要进行判定是否符合题目条件,换原创 2017-08-28 22:19:47 · 473 阅读 · 0 评论 -
【CodeForces】702C - Cellular Network 二分
http://codeforces.com/problemset/problem/702/CN个城市,M个蜂巢,每个蜂巢为其周边半径小于R的城市服务,城市和蜂巢排成一行。求R的最小值使得所有城市都被服务。二分。#include <bits/stdc++.h>using namespace std;int n,m;long long a[100005],b[100005];bool ok(long原创 2017-08-27 22:33:30 · 257 阅读 · 0 评论 -
【POJ】3685 - Matrix 二分->查找第K大的值
http://poj.org/problem?id=3685N阶矩阵,Aij= i^2 + 100000 × i + j^2 – 100000 × j + i × j,求第M小的元素。双重二分。 (1)先二分枚举比 mid 小的个数。 (2)观察 式子【 i^2 + 100000 × i + j^2 – 100000 × j + i × j】,它与呈i单调关系,所以每次枚举J,二分i,统计该列小原创 2017-08-26 19:40:50 · 244 阅读 · 0 评论 -
【POJ】3579 - Median 二分->找第K大的值
http://poj.org/problem?id=3579首先,Median,中位数。给出n个数X_i,对X计算∣Xi – Xj∣组成新数列的中位数。对X排序,与X_i的差大于mid(也就是某个数大于X_i + mid)的那些数的个数如果小于N / 2的话,说明mid太大了。以此为条件进行第一重二分搜索,第二重二分搜索是对X的搜索,直接用lower_bound实现。#include <iostre原创 2017-08-26 14:01:14 · 243 阅读 · 0 评论 -
【POJ】2976 - Dropping tests 二分->最大化平均值
http://poj.org/problem?id=2976n场考试中分别答对a_i题,总题数分别为b_i,允许去掉k场考试,求能达到的最高准确率。最大化平均值模。 取(n-k)场考试,y[i]=a[i]-mid*b[i]。#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <queu原创 2017-08-25 23:58:35 · 204 阅读 · 0 评论 -
【POJ】3104 - Drying 二分->最大化最小值
http://poj.org/problem?id=3104n件衣服各含a_i水分,自然干一分钟一单位,有一台烘干机一分钟k单位,一次只能晒一件。求最短时间。①设需要用x分钟的机器,那么自然风干需要mid – x分钟,x和mid需要满足:k*x + (mid – x) >= a_i,即 x >= (a_i – mid) / (k – 1)。②当k=1的时候,很显然会发生除零错误,需要特殊处理。#in转载 2017-08-25 21:43:06 · 250 阅读 · 0 评论 -
【POJ】3273 - Monthly Expense 二分->最大化最小值
http://poj.org/problem?id=3273将N个权值分割成K个区间,使得每个区间的全职和的最大值最小。#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int a[100000];int N,K;int l=0,r=0;int ans原创 2017-08-25 10:27:17 · 266 阅读 · 0 评论 -
【POJ】3258 - River Hopscotch 二分->最大化最小值
http://poj.org/problem?id=3258从N块石头中移除M块,使得间距最小值最大。#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const int maxn=50005;int n,m,L;int原创 2017-08-25 10:22:18 · 264 阅读 · 0 评论 -
【POJ】3111 - K Best 二分->最大化平均值
http://poj.org/problem?id=3111有n个物品的重量和价值分别是wi和vi。从中选出k个物品使得单位重量的价值最大。转换成判断是否存在选取K个物品的集合S满足下面的条件:sigma(vi) / sigma(wi) >= x {vi∈S, wi∈S} –> simga(vi - x*wi) >= 0 对 yi= vi - x*wi {1<=i<=n}从大到小排序,原创 2017-08-25 00:12:58 · 213 阅读 · 0 评论 -
【POJ】2456 - Aggressive cows 二分->最大化最小值
http://poj.org/problem?id=2456X轴上有N个点,选出C个点,使它们之间最近的距离最远最大化最小值,使用二分法。#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <queue>#include <algorithm>using namespace std;原创 2017-08-24 22:06:05 · 259 阅读 · 0 评论 -
POJ - 3104 Drying 二分答案
https://vjudge.net/problem/POJ-3104直接二分答案,然后判断答案的正确性。 假设当前二分的答案为 t,那么: 对于ai <= t的衣服,显然让它们自然风干就可以了。 对于ai > t的衣服,我们需要知道该衣服最少用多少次烘干机。 ...转载 2018-03-04 15:41:21 · 232 阅读 · 0 评论