二分搜索
不可知论大祭司
Know how to solve every problem that has been solved.
展开
-
【CF8389】Alyona and a tree 树上差分 + 二分
树上差分题目链接概述分析代码题目链接链接概述Alyona has a tree with n vertices. The root of the tree is the vertex 1. In each vertex Alyona wrote an positive integer, in the vertex i she wrote ai. Moreover, the girl wrote a positive integer to every edge of the tree (possib原创 2020-12-28 12:39:44 · 204 阅读 · 0 评论 -
【LuoguP2868】 【USACO07DEC】Sightseeing Cows G 负环判断
SFPA + 小数二分题目链接思路代码题目链接传送门思路我们要找的是(求和)fun/(求和)time的最大值,用二分法,若mid满足fun >= time * mid即mid * time - fun =< 0,那么这个mid是符合题意的。上面两个公式都是求和形式,所以我们把问题转化为了一个负环的判断问题,用spfa即可。不过还有几点需要注意的地方图的联通性不确定,我们补加一个超级原点,单向边且边权为0结果保留两位小数,但是我们只要把上面标记的不等式同乘10000(确保足够大),原创 2020-12-26 16:16:15 · 158 阅读 · 0 评论 -
【LuoguP1824】进击的奶牛lower_bound
lower_bound链接概述思路代码链接传送门概述Farmer John建造了一个有N(2<=N<=100,000)个隔间的牛棚,这些隔间分布在一条直线上,坐标是x1,…,xN (0<=xi<=1,000,000,000)。他的C(2<=C<=N)头牛不满于隔间的位置分布,它们为牛棚里其他的牛的存在而愤怒。为了防止牛之间的互相打斗,Farmer John想把这些牛安置在指定的隔间,所有牛中相邻两头的最近距离越大越好。那么,这个最大的最近距离是多少呢?输入格式原创 2020-12-26 14:06:05 · 128 阅读 · 0 评论 -
【LuoguP3611 】[USACO17JAN]Cow Dance Show S 优先队列
二分 + 优先队列链接概述思路代码链接传送门概述经过几个月的排练,奶牛们基本准备好展出她们的年度舞蹈表演。今年她们要表演的是著名的奶牛芭蕾——“cowpelia”。表演唯一有待决定的是舞台的尺寸。一个大小为K的舞台可以支持K头牛同时在舞台上跳舞。在牛群中的N头牛(1<=N<=10,000)按照她们必须出现在舞蹈中的顺序方便地编号为1…N。第i头牛计划跳d[i]的特定持续时间。一开始,第1…K头牛出现在舞台上并开始跳舞。当这些牛中的某一头牛首先完成了她的部分,她会马上离开舞台并且第K+原创 2020-12-26 12:47:17 · 407 阅读 · 0 评论 -
【LuoguP1462】通往奥格瑞玛的道路Dijkstra + 二分
Dijkstra + 二分题目链接概述思路代码题目链接传送门概述题目背景在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量有一天他醒来后发现自己居然到了联盟的主城暴风城在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛题目描述在艾泽拉斯,有n个城市。编号为1,2,3,…,n。城市之间有m条双向的公路,连接着两个城市,从某个城市到另一个城市,会遭到联盟的攻击,进而损失一定的血量。每次经过一个城市,都会被收取一定的过路费(包括起点和终点)。路上并没有收费站。假设1为暴风城原创 2020-12-26 11:58:54 · 206 阅读 · 0 评论 -
【LuoguP4058】木材(二分)
二分模板02题目大意题目链接玄学代码题目大意有 n 棵树,初始时每棵树的高度为 Hi,第 i 棵树每月都会长高 Ai。现在有个木料长度总量为S 的订单,客户要求每块木料的长度不能小于 L,而且木料必须是整棵树(即不能为树的一部分)。现在问你最少需要等多少个月才能满足订单。题目链接传送门玄学代码最后加了一个0的特判,否则会WA第一个样例。注意r最开始不要开太大,否则判断的里面的res可能会炸掉。在这里插入代码片```#include <iostream>using namesp原创 2020-12-07 09:59:17 · 197 阅读 · 0 评论 -
【LuoguP1577】切绳子 小数二分查找
涉及到小数的二分题目描述题目链接第一次的代码通过的代码样例题目描述有 N 条绳子,它们的长度分别为 Li。如果从它们中切割出 K条长度相同的绳子,这 K 条绳子每条最长能有多长?答案保留到小数点后 2位(直接舍掉 2 位后的小数)。题目链接传送门第一次的代码由于第一次直接对长度进行二分,导致了精读不够,WA了两个点。(细节是魔鬼)#include <iostream>#include <algorithm>#include <cstdio>using原创 2020-12-07 08:51:39 · 266 阅读 · 0 评论 -
【P2678跳石头】二分模板
P2678题目描述链接解决方法代码题目描述这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有N 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走 M 块岩石(不能移走起点和终点的岩石)。链接传送门解决方法通过二分查找确定最小值的右边界原创 2020-12-07 08:14:11 · 226 阅读 · 0 评论