二分三分算法
文章平均质量分 50
tomjobs
别慌,慌也没用
展开
-
Google Kickstart Round-D D. Locked Doors(线段树+二分)
题意:nnn个点,相邻两点之间有一条边,每条边边权不同。有qqq次询问,每次询问给你一个起点sss,从这个点出发,每次往左右边权更小的点跑,求第kkk个点是什么。思路:参考代码:https://doowzs.com/code/ks2020d-d/想到了线段树,没想到二分。假设是求第kkk个点,那结果可以看作是能包含kkk个点的窗口。假设窗口左移,那么窗口左部分(起点sss左部分)的最大值一定会大于右部分最大值,否则移动的过程就会优先往左移。同理窗口右移,那么左部分最大值一定会小于有部分最大原创 2021-03-09 13:53:43 · 251 阅读 · 0 评论 -
Codeforces-1486 D. Max Median(中位数,二分)
题意:求子区间大小不小于kkk能得到的最大中位数。这里的中位数定义为排序后第(n+1)2\frac{(n+1)}{2}2(n+1)的数。思路:二分这个这个最大的中位数midmidmid,将数组中大于midmidmid的位置设置为1,否则设置为-1。这样问题就变成了能否找到大于kkk的和大于0的区间,这个用前缀和维护一下就好了。#include <cstdio>#include <cstring>#include <algorithm>#include &.原创 2021-02-19 22:33:12 · 439 阅读 · 0 评论 -
Codeforces-1486 C2. Guessing the Greatest (hard version)(交互,二分)
题意:一个排列,1e5的范围,至多20次询问,每次可以询问一个子段的次大值位置。求最大值的下标位置。思路:通过第一次询问找出次大值位置pospospos,然后询问(1,pos)(1,pos)(1,pos)确定,如果结果等于pospospos,那么最大值是在pospospos左边,否则在pospospos右边。这样就得到了一个确定了最大值所在的区间,且这个区间左边界(或右边界)为次大值。对于左边界为次大值的情况,假设最大值位置为xxx,那么对于i<xi<xi<x的所有的询问(pos原创 2021-02-19 22:29:32 · 210 阅读 · 0 评论 -
LeetCode 1095. 山脉数组中查找目标值(二分)
(这是一个 交互式问题 )给你一个 山脉数组 mountainArr,请你返回能够使得 mountainArr.get(index) 等于 target 最小 的下标 index 值。如果不存在这样的下标 index,就请返回 -1。何为山脉数组?如果数组 A 是一个山脉数组的话,那它满足如下条件:首先,A.length >= 3其次,在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < … A[i-1] < A[i原创 2021-02-10 11:21:31 · 167 阅读 · 1 评论 -
LeetCode 33. 搜索旋转排序数组(二分)
升序排列的整数数组 nums 在预先未知的某个点上进行了旋转(例如, [0,1,2,4,5,6,7] 经旋转后可能变为 [4,5,6,7,0,1,2] )。请你在数组中搜索 target ,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。示例 1:输入:nums = [4,5,6,7,0,1,2], target = 0输出:4示例 2:输入:nums = [4,5,6,7,0,1,2], target = 3输出:-1示例 3:输入:nums = [1], target =原创 2021-02-10 10:29:18 · 91 阅读 · 0 评论 -
LeetCode 4. 寻找两个正序数组的中位数(二分中位数,log(n)算法)
4. 寻找两个正序数组的中位数给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4]原创 2021-01-10 20:31:00 · 241 阅读 · 0 评论 -
Codeforces1463 D. Pairs(有多返回值二分)
You have 2???? integers 1,2,…,2????. You have to redistribute these 2???? elements into ???? pairs. After that, you choose ???? pairs and take minimum elements from them, and from the other ????−???? pairs, you take maximum elements.Your goal is to obtain原创 2020-12-18 10:30:30 · 502 阅读 · 0 评论 -
2020ICPC上海 D Walker(二分)
题意:一条长度为n的直线上有两个人,位置为p1,p2,速度分别为v1,v2。求两人走过整条直线的最少时间。思路:二分所花时间,得到两人所能走的距离len1,len2len1,len2len1,len2。那么分情况讨论:一个人可以覆盖整条直线右左,左右,左左,右右,如果走完这个方向还有剩余,那就往回走。#include <algorithm>#include <cstring>#include <algorithm>#include <ios原创 2020-12-16 23:45:53 · 716 阅读 · 0 评论 -
2020小米网络赛第一场 F.Design Problemset(二分)
题意:有kkk种数,每种数有b[i]b[i]b[i]个,每次选择的范围数目为[li,ri][l_i,r_i][li,ri],选择完的数字下次不能再选。每次选择完毕后,数目总数范围要求在[L,R][L,R][L,R]内,求一共能选择多少次。思路:直接二分能选择midmidmid次,算出选择这么多次得到的最小值(每次取左端点就是最小值),最大值。如果最小值就在[L∗mid,R∗mid][L*mid,R*mid][L∗mid,R∗mid]内,那就直接用。如果最小值小于L∗midL*midL∗mid.原创 2020-11-09 10:19:03 · 150 阅读 · 0 评论 -
2020CCPC 绵阳 7-4 Defuse the Bombs(二分)
题意:每个炸弹有个倒计时,每一轮你指定一个炸弹时间加一,然后每一个炸弹时间减一,如果有炸弹时间变成负数,那么就会爆炸。求有炸弹爆炸的最长时间。思路:二分会进行midmidmid轮,那么每个炸弹的时间至少为mid−1mid-1mid−1,一共会执行mid−1mid-1mid−1次有效加时间,所以要满足∑(mid−1−a[i])<mid∑(mid-1-a[i])<mid∑(mid−1−a[i])<mid至于为什么只要满足这个二分条件,就可以保证中间不会减出-1,可以参考群友的证明。.原创 2020-11-04 20:55:26 · 384 阅读 · 0 评论 -
2020ICPC·小米 网络选拔赛第二场 Subsequence Pair(贪心二分)
题意:一个只含有0,1,2的序列,要求选出最多的2,0,2,0子序列,且子序列之间没有交集。思路:二分选了mid个2020,然后从前往后找mid个20序列,再从后往前找出剩余所有的20序列。前面部分的20序列优先按照0的坐标(右端点)排序,后面部分的20序列优先按照2的坐标(左端点排序),然后两者匹配看能否满足要求。#include <cstdio>#include <cstring>#include <algorithm>#include <qu.原创 2020-10-31 21:59:23 · 1119 阅读 · 0 评论 -
HHKB Programming Contest 2020 C - Neq Min(树状数组+二分)
题意:求对于每个前缀的数第一个未出现的非负数思路:直接树状数组+二分乱搞#include <cstdio>#include <cstring>#include <algorithm>#include <map>#include <queue>using namespace std;const int maxn = 2e5 + 10;int n;int vis[maxn];int c[maxn];void add(.原创 2020-10-11 20:30:36 · 195 阅读 · 0 评论 -
牛客国庆day8 Landscape Improved(二分)
链接:https://ac.nowcoder.com/acm/contest/7865/F来源:牛客网题目描述Louis L Le Roi-Univers has ordered to improve the landscape that is seen from the royal palace. His Majesty prefers to see a high mountain.The Chief Landscape Manager is going to raise a mountain f原创 2020-10-12 09:10:43 · 212 阅读 · 0 评论 -
G - Glyph Recognition Gym - 101623G(计算几何+二分)
题意:弄两个多边形覆盖图中所有点,要求里面多边形面积比上外面多边形面积值最大。思路:枚举用的是哪个多边形,则比值最大时,外面那个多边形覆盖所有点,里面那个多边形一个点都没有覆盖。二分就好了。#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <iostream> using namespace std; const原创 2020-10-10 09:54:11 · 130 阅读 · 0 评论 -
Codeforces1408 C. Discrete Acceleration(二分)
There is a road with length ???? meters. The start of the road has coordinate 0, the end of the road has coordinate ????.There are two cars, the first standing at the start of the road and the second standing at the end of the road. They will start drivin原创 2020-10-02 19:55:05 · 481 阅读 · 0 评论 -
2020百度之星初赛二 Car(状压DP+二分)
Problem DescriptionW 市最近面临了严重的交通拥堵问题,现在决定要在工作日(周一到周五)限号。每天可以限制若干尾号的车辆,譬如说周一限尾号为 0 的车,周二限尾号为 1,2 的车。每个尾号在五天当中最多只能被限一次,一天也可以什么牌照都不限。我们要设置一个容量上限 m,使得至少存在一种方案,每一天不被限号的车的总数都小于等于 m。请求出最小的 m。Input第一行一个整数 test(1≤test≤10) 表示数据组数。对于每组数据,第一行一个正整数 n(1≤n≤10000)原创 2020-08-02 00:37:37 · 347 阅读 · 0 评论 -
Codeforces 1389D. Segment Intersections(二分,枚举)
Koa the Koala and her best friend want to play a game.The game starts with an array ???? of length ???? consisting of non-negative integers. Koa and her best friend move in turns and each have initially a score equal to 0. Koa starts.Let’s describe a mov原创 2020-07-30 01:14:43 · 348 阅读 · 0 评论 -
Holes Gym - 100519H(二分,图论)
In this problem, we investigate the life of rabbits.Our rabbits live in the glades, some of which are connected with two-way trails. No trail makes a loop: each of them connects two different glades. There is at most one trail between any pair of glades.原创 2020-07-05 18:25:45 · 402 阅读 · 1 评论 -
I - Ivan and the swimming pool Gym - 102448I(二分+bfs)
After another great year for UFPE’s competitive programming team, the coach Ivan decided to gift the team and invest in building a pool at an area nearby. After reuniting with the group to arrange the details, four things were decided:The pool must have s原创 2020-06-29 14:23:02 · 542 阅读 · 0 评论 -
D - Drinking to turn red Gym - 102448D(计算几何,二分)
After the closing ceremony of an ICPC competition, Lucas and his friend decided to go to the hotel pool to have some magical drinks. After a while, Lucas found a magic swim ring and also realized that the swim rings had some interesting properties:The sw原创 2020-06-29 14:13:14 · 397 阅读 · 0 评论 -
A. Archmage(二分) 2020 年 “联想杯”全国高校程序设计在线邀请赛暨第三届上海理工大学程序设计竞赛
题意:初始生命值为n,每攻击一次减少x,回合结束增加y。要求能攻击尽量攻击,且生命值不能低于0。一共进行m回合。思路:先一直攻击下去,找到第一次不能攻击的回合。之后就会增加生命值直到能攻击,会循环下去,除了最后一回合恢复的生命值不能用来攻击。二分攻击多少次即可。#include <ctime>#include <iostream>#include <assert.h>#include <vector>#include <queue&g.原创 2020-05-31 00:21:39 · 732 阅读 · 0 评论 -
XK Segments CodeForces - 895B(二分)
While Vasya finished eating his piece of pizza, the lesson has already started. For being late for the lesson, the teacher suggested Vasya to solve one interesting problem. Vasya has an array a and integer x. He should find the number of different ordered原创 2020-05-21 21:53:48 · 251 阅读 · 0 评论 -
Journey to the The World Start Gym - 100801J(单调队列DP+二分)
题意:表示题意真的不好懂。意思是n个车站,你要从1号车站走到n号车站,每走一个车站时间为1。然后有行程为iii的地铁卡,代表最多能走iii个车站。可以在每个车站对地铁卡进行充值,充值时间为d[i]d[i]d[i]。现在已知每个地铁卡的价格p[i]p[i]p[i],求选择一个地铁卡使得能在ttt时间内到达nnn车站思路:首先需要设置p[i]=min(p[i+1],p[i])p[i]=min(p[i+1],p[i])p[i]=min(p[i+1],p[i]),因为每张地铁卡可以走到范围内的任意车.原创 2020-05-17 18:11:25 · 297 阅读 · 0 评论 -
Round B 2020 - Kick Start 2020 Bus Routes(二分)
ProblemBucket is planning to make a very long journey across the countryside by bus. Her journey consists of N bus routes, numbered from 1 to N in the order she must take them. The buses themselves a...原创 2020-04-19 16:48:40 · 309 阅读 · 0 评论 -
ACWING113. 特殊排序(二分,交互)
有N个元素,编号1.2…N,每一对元素之间的大小关系是确定的,关系具有反对称性,但不具有传递性。注意:不存在两个元素大小相等的情况。也就是说,元素的大小关系是N个点与N*(N-1)/2条有向边构成的任意有向图。然而,这是一道交互式试题,这些关系不能一次性得知,你必须通过不超过10000次提问来获取信息,每次提问只能了解某两个元素之间的关系。现在请你把这N个元素排成一行,使得每个元素都小于右...原创 2020-02-23 00:34:11 · 301 阅读 · 0 评论 -
ACWING102. 最佳牛围栏(二分)
农夫约翰的农场由 N 块田地组成,每块地里都有一定数量的牛,其数量不会少于1头,也不会超过2000头。约翰希望用围栏将一部分连续的田地围起来,并使得围起来的区域内每块地包含的牛的数量的平均值达到最大。围起区域内至少需要包含 F 块地,其中 F 会在输入中给出。在给定条件下,计算围起区域内每块地包含的牛的数量的平均值可能的最大值是多少。输入格式第一行输入整数 N 和 F ,数据间用空格隔开...原创 2020-02-22 23:01:52 · 199 阅读 · 0 评论 -
A very hard mathematic problem HDU - 4282(二分)
Haoren is very good at solving mathematic problems. Today he is working a problem like this: Find three positive integers X, Y and Z (X < Y, Z > 1) that holds X^Z + Y^Z + XYZ = K where K ...原创 2020-02-11 12:41:28 · 260 阅读 · 0 评论 -
Weakness and Poorness CodeForces - 578C(三分)
You are given a sequence of n integers a1, a2, …, an.Determine a real number x such that the weakness of the sequence a1 - x, a2 - x, …, an - x is as small as possible.The weakness of a sequence is ...原创 2020-02-10 18:14:04 · 326 阅读 · 0 评论 -
Error Curves UVA - 1476(三分求最值)
Josephina is a clever girl and addicted to Machine Learning recently. She pays much attention to amethod called Linear Discriminant Analysis, which has many interesting properties.In order to test t...原创 2020-02-09 23:57:50 · 241 阅读 · 0 评论 -
Everyone is a Winner! CodeForces - 1263C(二分 除法分块)
On the well-known testing system MathForces, a draw of n rating units is arranged. The rating will be distributed according to the following algorithm: if k participants take part in this event, then ...原创 2020-01-31 15:52:57 · 355 阅读 · 0 评论 -
Extend KMP HihoCoder - 1084(二分+hash)
Do you know KMP? It is used to judge whether a string is a substring of another string. Today we want to extend it.In information theory, the Hamming distance between two strings of equal length is t...原创 2020-01-28 16:51:37 · 321 阅读 · 0 评论 -
ACWING310. 启示录(数位dp+二分)
古代人认为666是属于魔鬼的数。不但如此,只要某数字的十进制表示中有三个连续的6,古代人也认为这是个魔鬼的数,比如666,1666,6663,16666,6660666等等。古代典籍中经常用“第X小的魔鬼的数”来指代这些数,这给研究人员带来了极大的不便。现在请编写一个程序,可以实现输入X,输出对应的魔鬼数。输入格式第一行包含整数T,表示共有T组测试数据。每组测试数据占一行,包含一个整数...原创 2020-01-21 01:01:45 · 345 阅读 · 0 评论 -
BZOJ3969. [WF2013]Low Power(二分)
Description有n个机器,每个机器有2个芯片,每个芯片可以放k个电池。每个芯片能量是k个电池的能量的最小值。两个芯片的能量之差越小,这个机器就工作的越好。现在有2nk个电池,已知它们的能量,我们要把它们放在n个机器上的芯片上,使得所有机器的能量之差的最大值最小。Input第一行,两个正整数,n和k。第二行,2nk个整数,表示每个电池的能量。Output一行一个整数,表示...原创 2020-01-18 14:13:52 · 333 阅读 · 1 评论 -
D. A Game with Traps cf1260D(二分+贪心)
You are playing a computer game, where you lead a party of ???? soldiers. Each soldier is characterised by his agility ????????.The level you are trying to get through can be represented as a straight line se...原创 2019-12-01 17:55:35 · 633 阅读 · 0 评论 -
BZOJ4724. [POI2017]Podzielno (神题,数论+二分)
DescriptionB进制数,每个数字i(i=0,1,…,B-1)有a[i]个。你要用这些数字组成一个最大的B进制数X(不能有前导零,不需要用完所有数字),使得X是B-1的倍数。q次询问,每次询问X在B进制下的第k位数字是什么(最低位是第0位)。Input第一行包含两个正整数B(2<=B<=106),q(1<=q<=105)。第二行包含B个正整数a[0],a[1...原创 2019-11-30 18:46:07 · 305 阅读 · 0 评论 -
cf1257 D - Yet Another Monster Killing Problem(二分套rmq)
D. Yet Another Monster Killing Problemtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou play a computer game. In this game, you lead a part...原创 2019-11-14 13:27:22 · 615 阅读 · 0 评论 -
Honeymoon Hike POJ - 2922(dfs,二分)
Emma is on a hiking trip with Eric, her freshly-married husband, for their honeymoon. They are hiking from one cabin to the next every day. Unfortunately, Eric is not as fit as Emma and is slowly gett...原创 2019-11-03 10:59:46 · 182 阅读 · 0 评论 -
Milk Patterns POJ - 3261(后缀数组+二分/HASH + 二分)
Farmer John has noticed that the quality of milk given by his cows varies from day to day. On further investigation, he discovered that although he can’t predict the quality of milk from one day to th...原创 2019-10-27 21:33:15 · 216 阅读 · 0 评论 -
Musical Theme POJ - 1743(后缀数组+二分/HASH + 二分)
A musical melody is represented as a sequence of N (1<=N<=20000)notes that are integers in the range 1…88, each representing a key on the piano. It is unfortunate but true that this representati...原创 2019-10-27 20:43:46 · 223 阅读 · 0 评论 -
Number Sequence POJ - 1019(二分)
A single positive integer i is given. Write a program to find the digit located in the position i in the sequence of number groups S1S2…Sk. Each group Sk consists of a sequence of positive integer num...原创 2019-10-26 23:56:30 · 725 阅读 · 0 评论