![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法_二分/三分
文章平均质量分 52
wang2147483647
这个作者很懒,什么都没留下…
展开
-
Codeforces 589F Gourmet and Banquet(二分+贪心)
题目地址:http://codeforces.com/problemset/problem/589/F思路:先贪心按照右端点值排序(先把对后面影响最小的菜吃掉),二分吃每道菜的时间即可。#include#include#include#includeusing namespace std;const int maxn=105;const int maxt=1e5+50;str原创 2016-08-15 21:01:05 · 1351 阅读 · 0 评论 -
Poj 3273 Monthly Expense(二分)
题目地址:http://poj.org/problem?id=3273思路:二分最小值(1--sum{a[i]})。从小到大依次相加,判断 #include#include#include#includeusing namespace std;const int maxn=1e5+50;int n,m;int a[maxn];int check(int x){ i原创 2017-03-14 22:10:50 · 308 阅读 · 0 评论 -
Uvalive 3890 Most Distant Point from the Sea(半平面交+二分)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1891思路:1.求一点到凸包边界最远,即求最大内切圆半径。2.二分半径r,讲凸包上边像内平移(点p+(normal vector)*r,方向向量v),求半平面交。若交点大原创 2017-08-22 21:45:16 · 395 阅读 · 0 评论 -
uva 1476 Error Curves(三分)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4222思路:几个函数图像相交所形成的图像仍为下凸的(若不为下凸,则在交点处存在先增后减,而由于取局部最大值,不应该选择递减部分,矛盾,所以图像全部为下凸),下凸函数最小值可用三分法解决:取原创 2017-08-27 20:16:53 · 555 阅读 · 0 评论 -
Gym - 101201J Shopping(RMQ+二分)
题目地址:http://codeforces.com/gym/101201/attachments思路:1.题目相当于对于一数,依次对[L,R]区间内的数取模,结果即为答案。2.若对于区间内一大于v的数,其取模结果仍为本身,无作用。则问题变为快速寻找区间内第一个不大于v的数(区间内数无序)。3.考虑二分区间[L,R],mid=(L+R)/2。若区间[L,mid]内最小值不大于v原创 2017-09-23 19:58:42 · 653 阅读 · 0 评论 -
Hdu 6209 The Intersection(Stern-Brocot tree+二分)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6209思路:1.对于每次在m1/n1,m2/n2中插入(m1+m2)/(n1+n2)构成下一排。2.对于任意一个Farey序中连续的分数m1/n1,m2/n2,必有m1/n13.Stern-Brocot树可以构成所有有理数。4.Stern-Brocot树构原创 2017-09-26 22:16:16 · 755 阅读 · 1 评论 -
Gym 100206B Fire station building(三分)
题目地址:http://codeforces.com/gym/100206/attachments思路:1.求出任意两点最短距离g(i,j),对于建在边u-v长为len的消防站(位置为x),则到点i的最短距离为min{g[u][i]+x,len-x+g[v][i]}(r2.枚举每条可建消防站的边,显然总期望距离为一凹函数,三分求取最小值即可。3.当图不连通或道路长度不足以建站时无解原创 2017-10-07 18:57:21 · 645 阅读 · 0 评论 -
Gym 100204G Network Wars(最小割+0/1分数规划)
题目地址:http://codeforces.com/gym/100204/attachments思路:1.即要求求:其中Xi=1代表选择该条边,为0代表不选择该边。2.转化为:即:二分ans,设置所有边为W-ans,若一条边小于0,则直接将其加入(该边小于平均值,加入则会使最终结果更小),设所有负权边和为sum。求最小割,判断最小割+sum原创 2017-10-19 16:18:03 · 695 阅读 · 0 评论 -
Uva 10983 Buy one, get the rest free(二分+最大流)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1924思路:1.二分所需花费cost,每次只选择不大于cost的航班。2.设源点S,汇点T。对于每个城市,表示为二元组(i,t),代表第t天处于第i个城市。从S到每一(i,0)连边,容原创 2017-10-20 14:15:08 · 606 阅读 · 0 评论 -
Poj 2976 Dropping tests(二分)
题目地址:http://poj.org/problem?id=2976思路:max{sigma(a[i])/sigma(b[i])}。设r=sigma(a[i]*x[i])/sigma(b[i]*x[i])(x[i]=0,1)。则sigma(a[i]*x[i])-r*sigma(b[i]*x[i])=0,而sigma(a[i]*x[i])-max(r)*(sigma(b[i]*x[i]))0,原创 2017-03-17 17:36:32 · 349 阅读 · 0 评论 -
Poj 3662 Telephone Lines(最短路+二分)
题目地址:http://poj.org/problem?id=3662思路:题目即为从连接1--n的边中找出一条最长的边,使得不多于k条边大于此边。则可以二分边长L(从0到边长最大值),求连接1--n的边中有多少条边的边长大于该边长:建立新图,将所有大于该边长的边权值设为1,其他边的权值为0,则求1->n的最短路即为连接1-->n的边中大于该边的边的个数,若其小于等于k则继续二分1---L-1原创 2017-03-03 19:34:07 · 614 阅读 · 0 评论 -
UVAlive 7366 Brocard(二分+计算几何)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5388思路:二分Brocard angle设为rad,将两条边(AB,BC)按该角度旋转,求出两条边的交点P,判断CA与CP所成角度ang是否等于该角度,若rad>ang则rad原创 2016-08-21 21:14:43 · 786 阅读 · 0 评论 -
Hdu 4454 Stealing a Cake(枚举或三分)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4454思路:枚举角度,确定圆上点的位置,取最小值。点到矩形最短距离:若点在矩形边所表示的范围内,则到矩形最短距离为x或y坐标到矩形边的距离。否则为点到矩形顶点的距离。#include#include#include#include#include#define debuusing原创 2016-08-10 10:28:47 · 650 阅读 · 0 评论 -
Hdu 3694 Fermat Point in Quadrangle(三分)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3694思路:三分竟然能水过。。。。感觉不是很对。。。。#include#include#include#includeusing namespace std;const double eps=1e-7;struct Node{ double x,y;};Node a[5原创 2016-08-06 11:36:13 · 583 阅读 · 0 评论 -
Codeforces Round #202 (Div. 1) A. Mafia(二分,思路)
题目地址:http://codeforces.com/problemset/problem/348/A思路:将问题集中在裁判上,每轮都有一人当裁判,设进行k轮,则k*n-sum>=k,sum为每个人想玩游戏轮数之和,二分答案即可。#include#include#include#includeusing namespace std;typedef long long LL;in原创 2016-07-26 22:04:53 · 497 阅读 · 0 评论 -
UVALive 7261 Xiongnu's Land(二分)
题目地址:点击打开链接思路:二分位置(无需考虑总坐标,仅考虑横坐标即可),使得2*area >= sum,在满足该条件的情况下,尽量右移使得左侧面积尽量大。#include#include#include#include#define debuusing namespace std;const int maxn=1e4+50;typedef long long LL;str原创 2016-08-10 21:04:28 · 1015 阅读 · 0 评论 -
UVAlive 6694 Toy Boxes(三分)
题目链接: UVALive 6694 - Toy Boxes 题意: 有n个物品,需要分在三个箱子里,每个箱子的花费是(箱子中物品个数∗箱子中物品的总重量(箱子重量忽略不计),求总花费最少是多少?(n≤20000,每个物品的重量≤1000) 分析: 先考虑将其分为两堆的情况。我们需要证明一个结论:分成两堆时一定是连续小的物品在一堆,连续大的在一堆,也就是其中一堆的任意一个物品重转载 2016-08-23 21:49:20 · 489 阅读 · 0 评论 -
Hdu 3486 Interviewe(二分+RMQ)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3486思路:二分选择个数m即可,开始只考虑各个区间长度,未考虑是否能够选够m个,wa了几次。。。。#include#include#include#include#includeusing namespace std;const int maxn=2e5+50;int n,k;i原创 2017-02-05 16:21:29 · 482 阅读 · 0 评论 -
Poj 3657 Haybale Guessing(二分+并查集)
题目地址:http://poj.org/problem?id=3657思路:由于每个位置的数唯一,对于两个区间[l,r]最小值为a、[L,R]最小值为A。若区间[l,r]被区间[L,R]完全包含且a<A,此时存在矛盾且为唯一的矛盾。则可以二分询问Q,判断1---tot内的询问是否合法。每次二分时,将1---tot之间的询问按照最小值从大到小排序(优先处理大数,以后判断时仅需判断小数所在的区间是原创 2017-03-03 16:57:01 · 905 阅读 · 0 评论 -
Poj 3621 Sightseeing Cows(二分+负环判断)
题目地址:http://poj.org/problem?id=3621思路:1.求点权值除以边权值最大的环。2.二分答案ans,sigma(v)/sigma(e)=0。对原图中的边,设其边权值为ans*e-v,判断是否存在负环即可。3.由于图有可能不连通,设一点0,向所有点连权值为0的边,从0点开始跑spfa判断是否存在负环即可。#include#include#inclu原创 2017-10-16 14:44:42 · 435 阅读 · 0 评论